关于橡皮擦
下面的代码可以实现橡皮擦的功能?MovePt可用来记录鼠标当前位置?是一个变量?
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if Drawing then
begin
DrawShape(Origin, MovePt, pmNotXor);
MovePt := Point(X, Y);
DrawShape(Origin, MovePt, pmNotXor);
end;
MovePt用来记录鼠标当前位置。当下次鼠标移动时, 就能在上次鼠标绘制的图形上画一个形状、大小一样的图形,并把画笔颜色设置成PmNotXor,使上次绘制的图形颜色变成了屏幕颜色,从而达到“橡皮擦”的效果。Style属性设置成用户希望的值,可实现对画笔和画刷风格的选择。
[解决办法]
用Canvas吧
Pen.Mode := pmCopy;
Brush.Style:= bsClear;
Brush.Color:=clWhite;
。。。
试试
[解决办法]
DrawShape是不是自定义函数呀?
[解决办法]
应该是自定义的函数,仅仅这几段代码看不来的
[解决办法]
代码给的太少了,而且DrawSharp函数没有给出来,不好判断
[解决办法]
DrawShape是自定义的
先在上次的地方画,然后移动到新坐标再画新图形
[解决办法]
占个位置学习一下
学习学习先
[解决办法]
哈哈,我状态刚刚完成,代码就1行,很简单
- Delphi(Pascal) code
image1.Canvas.FillRect(Rect(0,0,_bmp.Width,_bmp.Height));//清空IMAGE1.Canvas.FillRect(ret);//橡皮擦ret是TRECT类型