Frage

Gibt es einen Qt-Beispielcode, der das Bild aus einem vorzeichenlosen Zeichenanzeigepuffer anzeigt?Jedes Byte im Puffer entspricht der Graustufenpixelfarbe.Der Inhalt des Anzeigepuffers ändert sich zur Laufzeit in festgelegten Intervallen.Ich muss den Inhalt des Anzeigepuffers so schnell wie möglich ändern, damit sich das Bild zu bewegen scheint.Meine Frage ist, wie man sehr schnell Pixel aus dem Puffer zieht?Ich muss das Bild nicht speichern, sondern möchte es nur anzeigen.Bitte helfen Sie

War es hilfreich?

Lösung

QImage bietet eine Konstrukteur zur Initialisierung mit einem unsigned char Puffer.Um es anzuzeigen, können Sie a verwenden QGraphicsView mit einem QGraphicsScene.Jedes Mal, wenn sich die Daten des Puffers ändern, können Sie einen Slot ähnlich dem folgenden aufrufen:

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

Sie können auch die verwenden QPixmap'S loadFromData um die Pixmap direkt aus dem unsigned char Array zu laden und das zu vermeiden QImage Schritt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top