新手关于pen的有关属性 ( 积分: 100 )

  • 主题发起人 主题发起人 feixiaozi
  • 开始时间 开始时间
F

feixiaozi

Unregistered / Unconfirmed
GUEST, unregistred user!
请教一下:
在鼠标移动中(代码中originpt,movept为坐标点变量)
pm := Pen.Mode;
pw := Pen.Width;
ps := Pen.Style;
pc := Pen.Color;
[red]Pen.Mode:= pmNotXor;[/red]
Pen.Width := 1;
Pen.Style := psDashDot;
Pen.Color := clRed;
Brush.Style := bsclear;
_Draw(Originpt, MovePt); //此函数是画一线段
MovePt.X := X;
movept.Y:=y;
_Draw(Originpt, MovePt);
Pen.Mode := pm;
Pen.Width := pw;
Pen.Style := ps;
Pen.Color := pc;
(问题) 红色代码是什么意思?
为什么画当前线时 前一状态的线会自动消失。

多谢~~~
 
请教一下:
在鼠标移动中(代码中originpt,movept为坐标点变量)
pm := Pen.Mode;
pw := Pen.Width;
ps := Pen.Style;
pc := Pen.Color;
[red]Pen.Mode:= pmNotXor;[/red]
Pen.Width := 1;
Pen.Style := psDashDot;
Pen.Color := clRed;
Brush.Style := bsclear;
_Draw(Originpt, MovePt); //此函数是画一线段
MovePt.X := X;
movept.Y:=y;
_Draw(Originpt, MovePt);
Pen.Mode := pm;
Pen.Width := pw;
Pen.Style := ps;
Pen.Color := pc;
(问题) 红色代码是什么意思?
为什么画当前线时 前一状态的线会自动消失。

多谢~~~
 
因为画线的模式是pmNotXor,而异或的一个作用就是可逆,这个是异或的逆方式,其运算也是可逆的,所以对同一条线以这种方式画两次的话,等同于没画:)
----------------------------------------------------------------------------
pmXor
Combination of colors in either pen or canvas background, but not both

pmNotXor
Inverse of pmXor: combination of colors in either pen or canvas background, but not both
 
接受答案了.
 
后退
顶部