MFC绘图如何清除上一条直线
答案:3 悬赏:80
解决时间 2021-02-02 09:07
- 提问者网友:伪情浪人
- 2021-02-01 11:24
若不设置画笔颜色,设置SetROP2(R2_NOT)来绘制原来的直线,然后再绘制新的直线即可实现(如图2),可是我希望可以设置直线的颜色,比如红色,配合SetROP2(R2_COPYPEN),再像原先这样操作,发现应该擦出的地方变成了蓝色。我依次试了SetROP2的所有属性,结果都不是我希望的样子,原先直线的地方还是有颜色,怎么办(图片中,右边为第一条直线,需要清除的,左边为新的第二条直线)
最佳答案
- 二级知识专家网友:魅世女王
- 2021-02-01 12:36
最好的办法是使用双缓冲实现,在内存DC里面每次先整个刷新背景(相当于刷去上次的线条),然后画新线,最后再一次性把内存DC输出到屏幕,如果你非要使用SetROP2来实现,我有例子。
全部回答
- 1楼网友:蜜罐小熊
- 2021-02-01 15:00
异或方式来画原来的线
- 2楼网友:一池湖水
- 2021-02-01 14:12
橡皮筋画法不是最好的解决办法,你应该创建个容器,记录上一次绘制的区域,然后在下一次绘制时,刷新上一次绘制的区域就好了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯