• 6668阅读
  • 5回复

QT下显示内存里的图像数据 [复制链接]

上一主题 下一主题
离线keisuo
 

只看楼主 倒序阅读 楼主  发表于: 2007-05-10
— 本帖被 XChinux 执行加亮操作(2008-07-18) —
QT下显示内存里的图像数据

请教大家一个问题:


    我现在有一Buffer里存放了16bit 的图像数据,我想让它在QT程序里显示出来该怎么办呢?

在之前我用Qimage 类构造一个image图,但显示出来的图像颜色不对。实现的过程如下:


Buffer:存放了图像数据
QImage image = new QImage(Buffer,Width,Height,16,0,1,QImage::IgnoreEndian);

QPainter p(this);

    p.begin(this);
    p.drawImage(0,0,*image);
    p.end();

请大家给点建议,有没有更好的方法去实现?是不是要转成24bit 或32bit 图像才能显示?
如果要转,那又该怎么转……
请各位帮忙,给些提示信息……最好能用部分代码说明,非常感谢~!
[ 此贴被XChinux在2008-07-18 16:39重新编辑 ]
离线keisuo

只看该作者 1楼 发表于: 2007-05-10
求教QT下显示视频的方法(急用啊~~)
各位大虾:
我现在想做QT下显示经过网络传输过来的BMP图片的界面,是否可以用QImage 这个类来实现呢?
如果可以的话应该怎样做呢?(我看过QImage 这个类好像很多东西啊,应该不用全部都用上吧!)如果QImage 这个类不能实现的话,那应该怎样实现呢?希望得到各位的帮助,先谢谢了!!
离线keisuo

只看该作者 2楼 发表于: 2007-05-10
QPixmap img;
img.loadFromData();// 在参数中加载图像数据
然后
QLabel::setPixmap(img);
离线liuhaien

只看该作者 3楼 发表于: 2007-05-17
用img.loadFromData()中内存指针必须是CHAR或者bytearray,而将图像写入的内存是uchar型,你们怎么解决类型转换的啊!?恳请指教
离线keisuo

只看该作者 4楼 发表于: 2007-05-27
我尝试了一下.当第二个参数为常数时可以.
离线keisuo

只看该作者 5楼 发表于: 2007-05-28
终于解决了,不是常数的问题是第三个参数图片格式不对
快速回复
限100 字节
 
上一个 下一个