• 7086阅读
  • 7回复

[提问]QPainter画出的图形保存为图片 [复制链接]

上一主题 下一主题
离线breath
 
只看楼主 倒序阅读 楼主  发表于: 2012-08-24
在网上看到代码
QPixmap pixmap("yourImageFile");

QPainter p(pixmap);

p.drawXXXX();

pixmap.save("yourIamgeFile", "png");

说是这样将画出来的东西保存在一个图片里,后面也有人跟帖说这样可行,为什么我的程序报错误
“QPainter::QPainter(QPaintDevice *)”: 不能将参数 1 从“QPixmap”转换为“QPaintDevice *”
是什么原因啊。。。
离线roywillow

只看该作者 1楼 发表于: 2012-08-24
QPainter p(&pixmap);

QPainter接受的是设备的指针
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线breath
只看该作者 2楼 发表于: 2012-08-25
回 1楼(roywillow) 的帖子
恩,我也发现了,开始一直纠结在括号里的&符号,一直弄不出来
离线jdwx

只看该作者 3楼 发表于: 2012-08-25
还有更简单的办法,截图。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线breath
只看该作者 4楼 发表于: 2012-08-25
回 3楼(jdwx) 的帖子
哦?求大牛解释啊
离线roywillow

只看该作者 5楼 发表于: 2012-08-25
回 4楼(breath) 的帖子
大概意思是……绘制在widget上,然后用grabWidget()?
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 6楼 发表于: 2012-08-25
Re:回 4楼(breath) 的帖子
引用第5楼roywillow于2012-08-25 11:33发表的 回 4楼(breath) 的帖子 :
大概意思是……绘制在widget上,然后用grabWidget()?


就是这个意思。一下子就好了。

缺点还是有的,原图比较大超出了屏幕就不适用了。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
离线roywillow

只看该作者 7楼 发表于: 2012-08-25
回 6楼(jdwx) 的帖子
不过……既然都有那能力在widget上画了……OTL
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个