• 10025阅读
  • 6回复

loadFromData()函数的问题 [复制链接]

上一主题 下一主题
离线dancyz
 

只看楼主 倒序阅读 楼主  发表于: 2009-08-31
— 本帖被 XChinux 执行加亮操作(2011-01-28) —
在qt4 中 image类中有一个loadFromData()函数:
bool QImage::loadFromData ( const uchar * data, int len, const char * format = 0 )

bool QImage::loadFromData ( const QByteArray & data, const char * format = 0 )

Asistent上面说“Loads an image from the first len bytes of the given binary data”  ,data只要是二进制的就可以了。

而现在,我有一个yuv格式的视频数据文件data.yuv,还没有转换成rgb格式的,我想把数据读出来在QT界面上显示。

我把数据读入到变量buffer(char *)中,再通过格式转化传给loadFromData(),但是loadFromData () 函数返回值为false,没有成功生成图片。

是不是data还是有特别的格式说明。。

我现在是在把yuv格式的转换成rgb格式,各位大虾还有什么建议不? 先谢过各位。。。
离线dbzhang800

只看该作者 1楼 发表于: 2009-08-31
Loads an image from the first len bytes of the given binary data. Returns true if the image was successfully loaded; otherwise returns false.

The loader attempts to read the image using the specified format, e.g., PNG or JPG. If format is not specified (which is the default), the loader probes the file for a header to guess the file format.

上面说的很清楚,必须是Qt支持的图像的格式的数据。
离线lhca
只看该作者 2楼 发表于: 2011-01-28
回 1楼(dbzhang800) 的帖子
能在给提示吗?yuv的为什么不行?
离线XChinux

只看该作者 3楼 发表于: 2011-01-28
yuvQt中不支持呗,想让它支持,你就自己写个类似于qtjpeg插件的qtyuv插件。
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线roywillow

只看该作者 4楼 发表于: 2011-01-29
这个函数我用过
不过我是事先读取了png文件的二进制数据到bytearray然后loadFromData
不防尝试把你转换之后的结果存成文件,如果这个文件能正常打开浏览的话,那么loadFromData应该就可以,否则肯定是转换的时候出问题了
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线梅克斯
只看该作者 5楼 发表于: 2011-01-30
要qt支持的图片格式
离线lhca
只看该作者 6楼 发表于: 2011-01-31
用的不是图片,而是sdl读入的格式,不知道该怎么转换过来。
快速回复
限100 字节
 
上一个 下一个