首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将bmp565加载到QPixmap中

将bmp565加载到QPixmap中
EN

Stack Overflow用户
提问于 2015-06-09 22:54:10
回答 1查看 1.6K关注 0票数 0

我是在应用程序,需要加载bmp 16位(5-6-5)图像到QPixmap。在Qt中有任何方法可以直接像24位bmp那样做吗?

我试图将所有图像转换为24位版本,加载它们没有问题。不幸的是,我真的需要使用16位。

我也尝试了下面的代码,但没有成功。然而,我可以加载16位(1-5-5-5)版本的我的bmp。

代码语言:javascript
复制
QImage img = QImage(300, 300, QImage::Format_RGB16);
img.loadFromData(imgArray);
ui->test->setPixmap(QPixmap::fromImage(img));
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-09 23:17:41

对于我使用QImage构造函数来说,它似乎运行得很好:

代码语言:javascript
复制
QImage::QImage(const QString & fileName, const char * format = 0)

基本上,其用途是:

代码语言:javascript
复制
QImage img = QImage("filename.bmp")

RGB16格式应该由构造器自己从文件头中提取。

编辑:

您发布的文件似乎使用了Qt不支持的标头类型。它是一个大小为56的无文档头,名为BITMAPV3INFOHEADER维基百科解释为:

没有正式文档,但此文档是由Adobe的一名员工发布的论坛,并声明该标准曾一度包含在正式的MS文档https://forums.adobe.com/message/3272950#3272950中。

它似乎是一个非常特殊的标题类型,许多库都不支持它。但是,gimp或ImageMagic可以加载并转换它,因此我建议您将您的文件转换为另一个使用更标准头的RGB565编码的BMP文件。然后,上述代码将适用于您。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30744209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档