• 6604阅读
  • 2回复

如何实现QT4下的异或方式画图 [复制链接]

上一主题 下一主题
离线gingingin
 
只看楼主 倒序阅读 楼主  发表于: 2009-01-10
— 本帖被 XChinux 执行加亮操作(2009-01-13) —
[font=宋体1.问题简述:

        如何实现QT4下的异或方式画图

2.具体情况:

        qt3下可画图时可采用异或方式清除原图像,但升级到qt4版本后不支持此模式,请问如何实现同样效果的绘图。
开发平台:    solaris10
多谢大家帮忙指教.]
离线roc496
只看该作者 1楼 发表于: 2009-01-13
使用图像的双缓存
定义两个QPixmap tempMap, bufferMap;
画的时候先tempMap = bufferMap
然后将东西画在tempMap上
然后显示tempMap
画完了就bufferMap = tempMap;
看下我的一个截图的代码
那个画矩形的地方是这个思想
http://www.qtcn.org/bbs/read.php?tid=15215
记得每次重画的时候是用update()而不是repaint();
另外,这个方法并不是很好,如果图像很大,拖动速度很快的时候,个人感觉反应有点慢
离线mxw5495
只看该作者 2楼 发表于: 2009-01-13
在assistant的QPainter里面对QPainter::CompositionMode的描述里头有一个Image Composition Example那里面就有对异或绘制2张图的说明,不知道是不是你想要的
源码在\examples\painting\imagecomposition里面
快速回复
限100 字节
 
上一个 下一个