| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2275 人关注过本帖
标题:SetROP2
只看楼主 加入收藏
邵帅
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:20
帖 子:174
专家分:505
注 册:2012-8-27
结帖率:78.26%
收藏
 问题点数:0 回复次数:0 
SetROP2
关于画图的一个问题:
本来是想问大家的,但写着写着发现明白了,与大家分享一下,大婶勿喷……

通过设置SetROP2( R2_NOT);或者SetROP2(R2_NOTXORPEN)
画两次,便可以插除图形。
网上找的是:
1.R2_NOT:当前绘制的像素值设为屏幕像素值的反,这样可以覆盖掉上次的绘图,(自动擦除上次绘制的图形)
2.R2_NOTXORPEN:对当前的画笔的颜色和屏幕像素值的异或进行取反

现假设屏幕初始像素值为A,画笔为B
就第1种情况分析:
画第一次时颜色为!A;
第二次画时屏幕像素由A变为!A,则第二次画的颜色!!A=A,即用背景色来填充,相当于清除了。
就第二种情况分析:
第一次画时颜色为!(B^A)
第二次画时屏幕像素由A变为C=!(B^A),则第二次画的颜色为!(B^C)=!(B^!B^A)=!(1^A)=!!A=A,同上

即上诉两者都可以实现插除的目的,但第一种方法在第一次画的颜色过于单调,不可调。

[ 本帖最后由 邵帅 于 2013-5-16 10:18 编辑 ]
搜索更多相关主题的帖子: 背景色 网上 
2013-05-16 10:06
快速回复:SetROP2
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved