2012-03-12 4 views
0

Existe-t-il un exemple de code Qt qui affiche l'image à partir d'un tampon d'affichage char non signé? Chaque octet sur le tampon correspond à la couleur du pixel de l'échelle de gris. Le contenu du tampon d'affichage change à l'exécution dans des intervalles spécifiés. J'ai besoin de changer le contenu du tampon d'affichage aussi vite que je peux, de sorte que l'image semble être en mouvement. Ma question est de savoir comment dessiner des pixels de la mémoire tampon très rapidement? Je n'ai pas besoin de sauvegarder l'image, je veux juste l'afficher. Please helpComment dessiner des pixels à partir du tampon d'affichage?

+0

vos questions manque de balises correspondantes alors qu'il y a beaucoup de balises non liées étant listées dans –

Répondre

2

QImage fournit constructor pour l'initialisation en utilisant un tampon unsigned char. Afin de l'afficher, vous pouvez utiliser un QGraphicsView avec un QGraphicsScene. Chaque fois que les données de la mémoire tampon changements que vous pouvez appeler une fente similaire à celle qui suit:

void updateImage() 
{ 
    // I assume an 1024x768 image 
    QImage img(buffer, 1024, 768, QImage::Format_Indexed8); 
    scene->clear(); 
    scene->addPixmap(QPixmap::fromImage(img)); 
    graphicsView->update(); 
} 

Vous pouvez également utiliser loadFromData du QPixmap afin de charger directement le pixmap à partir du tableau unsigned char et d'éviter la QImage étape.

+0

J'utilise Qimage au lieu de QPixmap. Mais l'image affichée est toujours noire même si les données dans le tampon changent – indira

+0

Comment l'utilisez-vous? – pnezis

+0

buffer char non signé [50 * 200] = {150}; QImage img (buffer, 50, 200, QImage :: Format_Indexed8); m_scene-> clear(); m_scene-> addPixmap (QPixmap :: fromImage (img)); m_view-> update(); – indira

Questions connexes