Ist QImage Lage reine 16-Bit-Bilder zu öffnen und machen?
Frage
Ich denke, die Schlagzeile schon erklärt, was ich wissen will.
Gibt es eine Möglichkeit, öffnen und speichern Bilder mit 16-Bit mit Qt? Und damit meine ich nicht den 3 * 8 = 24-Bit oder 4 * 8 = 32-Bit, was ist ziemlich das gleiche wie ein reines 8-Bit-Bild, ich meine reinen 16-Bit für R, G und B.
Lösung
Im Gegensatz zu dem, was Patrice sagt, gibt es keine 16 Bit pro Komponente Format in QImage
. Die meisten können Sie erhalten bei 8 Bit pro Komponente QImage::Format_ARGB32
. Selbst wenn Sie 8 Bits indiziert Modus verwendet, die Farbtabellen unterstützen nicht mehr als 8 Bit pro Komponente. Darüber hinaus arbeitet die QImageIOHandler
Klasse in Bezug auf QImage
, so dass Sie keine eigenes Bildformat Plug-In arbeiten mit 16 Bit pro Farbkomponente, leider.
Andere Tipps
Sie können zu diesem Zweck libpng (png ++) verwenden.
QImage :: Format nicht rein 16-Bit definieren, sondern können 10-Bit definieren.
QImage::Format_A2RGB30_Premultiplied
( http://doc.qt.io/qt-5/qimage.html), können RGB verwenden 10 Bits pro Kanal (0 ... 1).
Aber wenn Gebrauch QImage::setPixel
sie noch 8 Bit pro Kanal verwenden für definieren Pixel von QColor
.
Wie andere bereits erwähnt, gibt es kein Format mit 16 Bit pro Komponente für jetzt in Qt unterstützt.
Allerdings gibt es eine Anforderung zur Umsetzung dieses geöffnet, mit einem Patch angehängt: https: // Bugreports .qt.io / browse / QTBUG-45858
Nicht sicher, was der Status dieser ist, und wenn es integriert bekommen.