1

我想标题已经解释了我想知道的。
有没有可能用 Qt 打开和保存 16 位图像的方法?我不是说 3*8=24bit 或 4*8=32bit,和纯 8-bit 图像完全一样,我是指 R、G 和 B 的纯 16-bit。

4

5 回答 5

4

与 Patrice 所说的相反,在QImage. 您最多可以获得QImage::Format_ARGB32每个组件 8 位。即使您使用 8 位索引模式,颜色表也不支持每个组件超过 8 位。此外,QImageIOHandler该类以QImage.

于 2009-12-06T15:06:04.230 回答
0

您可以为此目的使用 libpng (png++)。

于 2012-03-08T07:48:54.473 回答
0

QImage::Format 不定义纯 16 位但可以定义 10 位。
QImage::Format_A2RGB30_Premultiplied( http://doc.qt.io/qt-5/qimage.html ),每个通道可以使用 RGB 10 位 (0...1)。
但是如果使用QImage::setPixel它们仍然使用每个通道 8 位来定义来自QColor.

于 2015-09-11T21:50:48.337 回答
0

正如其他人已经提到的那样,目前 Qt 中不支持每个组件 16 位的格式。

但是,有一个请求可以实现这一点,并附有补丁:https ://bugreports.qt.io/browse/QTBUG-45858

不确定它的状态是什么,以及它是否会被整合。

于 2015-10-29T09:52:15.903 回答
0

支持Qt5.13

这是示例

QImage raw((uchar*)byte.data(), 480, 640, QImage::Format_Grayscale16);
raw.save(QString("%1/depth.raw").arg(fileName));

使用标志QImage::Format_Grayscale16

于 2020-06-12T05:32:37.717 回答