【发布时间】:2012-03-24 17:36:22
【问题描述】:
有人可以指点我一个教程,其中解释了如何使用 libpng 和 png++ 在图像上应用双三次调整大小吗?我花了将近三个小时寻找一些东西,但找不到。也许是因为我不知道去哪里找。
图像 (48 bit image) 用libpng 读取,然后读入QImage 用于输出。如果我在图像上使用QImage::scaled,则会丢失像素信息,并且图像对我需要的东西没有用处。
我使用 png::rgba_pixel_16 像素读取和操作图像 - 像这样读取它:
png::image< png::rgba_pixel_16 > myImage(myFile.toAscii());
引用另一个答案:
QImage 中每个组件格式没有 16 位。您可以获得的最多是 QImage::Format_ARGB32 每个组件 8 位。即使您使用 8 位索引模式,颜色表也不支持每个组件超过 8 位。此外,QImageIOHandler 类是根据 QImage 工作的,因此很遗憾,您无法创建自定义图像格式插件来处理每个颜色分量 16 位。
最后一句话解释了为什么我不能为此使用 QImage。
【问题讨论】: