【发布时间】:2015-09-13 07:44:11
【问题描述】:
我创建了一个简单的应用程序,我需要从像素图导出到 16 位 bmp 图像。我有几个像素图项目,所以我有这样的 for 循环,我首先创建 QImage 并将其转换为 Format_RGB16:
for(QList<image_handler * >::iterator it=imageItems->begin(); it!=imageItems->end(); it++)
{
...
// image_handler inherits QPixmap
QFile export_image(path+"/img_"+code+".bmp");
QImage export_img = (*it)->toImage().convertToFormat(QImage::Format_RGB16);
export_img.save(&export_image, "BMP");
...
}
image_handler 是我的自定义 QPixmap。图像以给定的路径导出,文件名正确。但是,当我查看文件的属性(在 Windows 中)时,我可以看到图像深度是 24 位的。不幸的是,我需要它们是 16 位的。
我在这里做错了什么?或者这是Qt中的一个错误?那么如何从 pixmap 导出 16 位 bmps 呢?
【问题讨论】:
-
bool QImage::save ( const QString & fileName, const char * format = 0, int quality = -1 ) const -
使用 QString 提供路径没有帮助。仍然获得 24 位 bmp 图像。