首页| 论坛| 消息

回复: 使用Qt的QLabel获取绘图句柄问题!
#6 回 nuanbing222 的帖子 [dbzhang800 09-23 23:08]
nuanbing222:可是毫无反应啊。。。 (2014-09-23 17:15) 
什么叫毫无反应,构造的QImage无效 还是什么?
你的QImage采用的哪种format,和内存数据是否一致
#7 [roywillow 09-24 08:45]
loadFromData好像是把内存中的一个文件的数据载入的,比如说一个png文件读到内存里成了char*,然后就可以用这个函数来构建QImage了
如果你知道内存里存储的图像是RGB之类的明确的format,可以直接先构造一个正确大小和对应格式的的QImage,然后用data()或者scanLine()之类的函数来直接操作内存
另外我记得QPixmap好像可以返回一个句柄,能用吗?
#8 回 dbzhang800 的帖子 [nuanbing222 09-24 10:17]
dbzhang800:什么叫毫无反应,构造的QImage无效 还是什么?
你的QImage采用的哪种format,和内存数据是否一致 (2014-09-23 23:08) 
我定义了QImage为类的成员变量,怎么构造?我尝试着使用指针构造了一下,图片格式为Format_RGB888,并通过loadFromData函数载入内存数据,然后通过QLabel控件不太好显示啊。。。
#9 回 nuanbing222 的帖子 [dbzhang800 09-24 10:28]
nuanbing222:我定义了QImage为类的成员变量,怎么构造?我尝试着使用指针构造了一下,图片格式为Format_RGB888,并通过loadFromData函数载入内存数据,然后通过QLabel控件不太好显示啊。。。 (2014-09-24 10:17) 
loadFromData() 不是干这个,除非你的内存数据是完整的 .jpg/.png/jp2/.bmp 的图片文件。
你应该使用相应的QImage的构造函数。
#10 回 dbzhang800 的帖子 [nuanbing222 09-24 11:38]
dbzhang800:loadFromData() 不是干这个,除非你的内存数据是完整的 .jpg/.png/jp2/.bmp 的图片文件。
你应该使用相应的QImage的构造函数。 (2014-09-24 10:28) 
我试过了,用了构造函数QImage(const uchar* data, int width, int height, FORMAT format),还有QImage(int width, int height, FORMAT format)和函数fromData(const uchar* data, int len),好像会直接崩溃掉,我的图片格式是RGB888的,内存的长度是768*576*3,不知道是不是QImage的读取超届了。。。
Demo中使用的是EImage类,是可以正确操作内存的,图片也可以保存为bmp格式,只是在QT中这个类没法转化为Qt的图片类就没有办法显示啊,而其EImage类在网上也找不到说明。。。。

<< 1 2 3 4 >> (2/6)

回复 发表
主题 版块