QImage est capable d'ouvrir et de rendre les images pures 16 bits?
Question
Je pense que le titre explique déjà ce que je veux savoir.
Est-il un moyen possible d'ouvrir et d'enregistrer des images avec 16 bits avec Qt? Et je ne veux pas dire 3 * 8 = 24 bits ou 4 * 8 = 32 bits, ce qui est tout à fait la même chose que pure image 8 bits, je veux dire pur 16 bits R, G et B.
La solution
Contrairement à ce que Patrice dit, il n'y a pas de 16 bits par format de composant dans QImage
. Le plus vous pouvez obtenir est QImage::Format_ARGB32
à 8 bits par composante. Même si vous avez utilisé le mode 8 bits indexés, les tables de couleurs ne prennent pas en charge plus de 8 bits par composant. De plus, la classe QImageIOHandler
fonctionne en termes de QImage
, de sorte que vous ne pouvez pas créer un plug-in format d'image personnalisé pour travailler avec 16 bits par composante de couleur, malheureusement.
Autres conseils
Vous pouvez utiliser libpng (.png ++) à cette fin.
QImage :: Format ne définit pas peu pur 16 mais peut définir 10 bits.
QImage::Format_A2RGB30_Premultiplied
( http://doc.qt.io/qt-5/qimage.html), peut utiliser RGB 10 bits par canal (0 ... 1).
Mais si l'utilisation QImage::setPixel
ils utilisent encore 8 bits par canal pour définir pixel de QColor
.
Comme d'autres déjà mentionnés, il n'y a pas de format de 16 bits par composant supporté dans Qt pour l'instant.
Cependant, il y a une demande ouverte à mettre en œuvre, avec un patch ci-joint: https: // bugreports .qt.io / browse / QTBUG-45858
Je ne sais pas quel est le statut de ce fait, et si elle s'intégré.