注册 登录
编程论坛 C图形专区

请问用异或象素点的方式清除屏幕内容时,如果背景是黑色时能正常清除,背景不是黑色时

katon 发布于 2007-07-11 18:22, 1494 次点击
如题~

[此贴子已经被作者于2007-7-11 18:24:05编辑过]

6 回复
#2
ba_wang_mao2007-07-11 18:45
你自己要在程序中记忆背景颜色。
1、setbkcolor();
2、getbkcilor();
#3
RockCarry2007-07-11 19:52

不用吧,不管什么颜色,采用异或方式都是可以清除的

#4
katon2007-07-12 09:47
以下是引用RockCarry在2007-7-11 19:52:06的发言:

不用吧,不管什么颜色,采用异或方式都是可以清除的

我试过了,除了黑色,其他任何颜色异或之后显示出来都是黑色的,我想黑色可以擦除就是因为异或的结果是黑色,而正好这时背景也是黑色的缘故吧?

#5
RockCarry2007-07-12 10:04
晕,怎么可能。对于任意一个二进制数,如果用另一个二进制数,对其进行两次按位异或运算,其运算结果必然为原来的那个二进制数。如下:
如果 z = x ^ y;
那么 z ^ y == x 是必然成立的。
更多的话我就不多说了,聪明人自然会看得明白。
#6
一笔苍穹2007-07-12 16:43
你的背景是在变化的吗?
#7
katon2007-07-17 11:01
回复:(一笔苍穹)你的背景是在变化的吗?
不变化的,单一色,浅灰色那种
1