找回密码
 立即注册
收起左侧

指针问题

1
回复
6246
查看
[复制链接]
累计签到:6 天
连续签到:2 天
来源: 2018-10-25 14:13:52 显示全部楼层 |阅读模式
2Qter豆
new 了一个QImage类型的指针用来对图像进行显示,有unsigned char 类型的指针对图像进行了操作处理(调用的是别人的算法,是这个类型的),两个指针怎样转换指示来对同一张图片,求各位大佬帮忙

回复

使用道具 举报

累计签到:436 天
连续签到:1 天
2018-10-26 10:00:57 显示全部楼层
先说答案:
最有可能的方式是通过QImage::bits()访问QImage的底层数据。

补充:
QImage是对图像的一个比较高层的封装,它对图像的操作一定程度上和原本图像的格式没什么关系。但是对于bits()方法返回的指针指向的数据,其布局受这个QImage的Format影响,而且文档里说得不是很明白,我是看了Qt的源码才稍微弄懂了一些。
相对地,unsigned char类型的指针是很底层的数据访问方式,对于它所指向的数据块,类型本身没有给出更多的知识,因而你说的别人的算法里使用“unsigned char 类型的指针对图像进行了操作处理”,如果他本身没有在用Qt,那么他认为的数据布局很可能和由bits()给出的数据布局并不一样,这样你用他的算法得到的结果肯定是错误的,甚至可能引发内存安全问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了