• 10830阅读
  • 5回复

如何得到QImage里的图片数据 [复制链接]

上一主题 下一主题
离线yan0
 

只看楼主 倒序阅读 楼主  发表于: 2008-09-14
如何得到QImage里的图片数据
— 本帖被 XChinux 执行加亮操作(2008-09-14) —
  使用QT3交叉编译,程序在Moto E6手机上运行。
问题:如何得到QImage里的图片数据?
使用QImage读取一个图片文件,需要获取该图片的原始图片数据,供转换后直接写屏显示。手机显示图片的格式是18bit,不是标准的,需要转换。
离线mihayinoviki
只看该作者 1楼 发表于: 2008-09-14
uchar * QImage::scanLine ( int i )

Returns a pointer to the pixel data at the scanline with index i. The first scanline is at index 0.
离线yan0

只看该作者 2楼 发表于: 2008-09-14
继续请教,以下代码编译通过,运行时出现Segmentation fault。是什么问题?

QImage image(pic);
uchar * p=image.scanLine(0);
for (int i=0;i<240;i++){
printf("x ",*(p+i));
}
[ 此贴被yan0在2008-09-15 12:57重新编辑 ]
离线nmiirq

只看该作者 3楼 发表于: 2008-09-14
引用第2楼yan0于2008-09-14 19:51发表的  :
继续请教,以下代码编译通过,运行时出现Segmentation fault。是什么问题?
QPixmap image(pic);
uchar * p=image.scanLine(0);
for (int i=0;i<240;i++){
.......


你的这段代码真的能通过编译吗?
image有scanLine()这个成员函数吗?
离线yan0

只看该作者 4楼 发表于: 2008-09-15
回复楼上,发贴写错了,应是QPixmap image(pic);

换其他的解决方法了,先save成bmp文件,再读取bmp得到图片数据转换
[ 此贴被yan0在2008-09-16 09:00重新编辑 ]
离线nmiirq

只看该作者 5楼 发表于: 2008-09-15
引用第2楼yan0于2008-09-14 19:51发表的  :
继续请教,以下代码编译通过,运行时出现Segmentation fault。是什么问题?
QImage image(pic);
uchar * p=image.scanLine(0);
for (int i=0;i<240;i++){
.......


段错误一般是指针非法使用等情况
276289228 可以加我Q,我们聊一聊
[ 此贴被nmiirq在2008-09-15 22:44重新编辑 ]
快速回复
限100 字节
 
上一个 下一个