Ich habe ein Graustufenbild mit 12 bit Werten, das ich möglichst effizient auf den Schirm bringen will.
Folgendermassen gehe ich vor:
1) 12 bit Graustufen in 8 bit Graustufen umwandeln (ich meine, Qt kann mit 12 bit Werten nicht umgehen, oder?)
2) QImage mit den 8 bit Werten füllen.
3) QPixmap aus dem QImage erstellen.
4) QPixmap in einer QGrapicsView darstellen.
Im Forum hier gibt's einige Threads zum Thema 8bit Bilder darstellen, trotzdem finde ich es sehr kompliziert, das auch hinzubekommen, deshalb nochmal ein neuer Thread.
In meiner Anwendung kommt das Bild von einer Kamera und wird dann aus dem Buffer imgBuffer8, in den die Kamera es schreibt, in ein Array image8 vom Typ uchar kopiert:
Code: Alles auswählen
memcpy(image8, imgBuffer8, imgSize);
Wenn ich nun aus dem QImage ein QPixmap mache, dann werden die Daten nochmal kopiert, oder? Allerdings habe ich es nicht geschafft, die Daten direkt in die QPixmap zu bekommen.
Für einen Hinweis, wie man's richtig macht, wäre ich sehr dankbar. Wie gesagt, es reicht in meiner Anwendung nicht, das irgendwie zu schaffen, sondern es muss noch möglichst effizient sein.