canvas教程

Delphi的绘图功能[12]-TPen类下:学习橡皮线

字号+ 作者:H5之家 来源:H5之家 2017-05-05 09:06 我要评论( )

Delphi的绘图功能[12]-TPen类下:学习橡皮线,Delphi的绘图功能[12]-TPen类(下):学习橡皮线

//奇妙的异或运算, 就这些简单的代码, 反复点击按钮...procedure TForm1.Button1Click(Sender: TObject);begin Canvas.Pen.Color := clYellow; {指定笔颜色为黄色} Canvas.Pen.Width := 20; {笔宽 20} Canvas.Pen.Mode := pmXor; {指定画笔模式为: 画笔色与背景色的异或运算} {画线} Canvas.MoveTo(0,0); Canvas.LineTo(ClientWidth,ClientHeight);end; //效果图:

//做一个橡皮线的示例:unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TForm1 = class(TForm) procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); end;var Form1: TForm1;implementation{$R *.dfm}var x1,y1,x2,y2: Integer; {直线两个端点的坐标} f: Boolean; {判断鼠标是否点下}procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin x1 := X; y1 := Y; x2 := X; y2 := Y; Canvas.Pen.Color := clRed; Canvas.Pen.Width := 2; Canvas.Pen.Mode := pmXor; f := True;end;procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);begin if f then begin {擦除} Canvas.MoveTo(x1, y1); Canvas.LineTo(x2, y2); x2 := X; y2 := y; {重绘} Canvas.MoveTo(x1, y1); Canvas.LineTo(x2, y2); end;end;procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);begin if f then begin {画出确定的线} Canvas.Pen.Mode := pmCopy; Canvas.MoveTo(x1, y1); Canvas.LineTo(x2, y2); f := not f; end;end;end. //效果图:


 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Android绘图机制和处理技巧

    Android绘图机制和处理技巧

    2017-05-03 17:05

  • HTML5+Canvas调用手机拍照功能实现图片上传(下)

    HTML5+Canvas调用手机拍照功能实现图片上传(下)

    2017-04-30 17:00

  • HTML5实现微信拍摄上传照片功能

    HTML5实现微信拍摄上传照片功能

    2017-04-30 09:01

  • HTML5 Canvas 绘图实例教程

    HTML5 Canvas 绘图实例教程

    2017-04-28 13:09

网友点评
>