Is QImage able to open and render pure 16-bit images?

一曲冷凌霜 提交于 2019-12-20 04:26:11

问题


I think the headline already explains what I want to know.
Is there a possible way to open and save images with 16-bit with Qt? And I don't mean the 3*8=24bit or 4*8=32bit, what is quite the same as a pure 8-bit image, I mean pure 16-bit for R, G and B.


回答1:


Contrary to what Patrice says, there is no 16 bits per component format in QImage. The most you can get is QImage::Format_ARGB32 at 8 bits per component. Even if you used 8 bits indexed mode, the color tables do not support more than 8 bits per component. Moreover, the QImageIOHandler class works in terms of QImage, so you cannot create a custom image format plug-in to work with 16 bits per color component, unfortunately.




回答2:


You can use libpng (png++) for that purpose.




回答3:


QImage::Format not define pure 16 bit but can define 10 bit.
QImage::Format_A2RGB30_Premultiplied (http://doc.qt.io/qt-5/qimage.html), can use RGB 10 bits per channel (0...1).
But if use QImage::setPixel they still use 8 bit per channel for define pixel from QColor.




回答4:


As others already mentioned, there is no format with 16 bits per component supported in Qt for now.

However there is a request opened to implement this, with a patch attached: https://bugreports.qt.io/browse/QTBUG-45858

Not sure what is the status of this, and if it will get integrated.



来源:https://stackoverflow.com/questions/1846106/is-qimage-able-to-open-and-render-pure-16-bit-images

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!