var
Form1: TForm1;
x1,y1:array [0..100] of integer;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.Picture.LoadFromFile('d:/1.bmp');
i:=0;
end;
procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var
j:integer;
begin
If ssleft in shift then
begin
x1:=x;
y1:=y;
i:=i+1;
if i=1 then
begin
image1.Canvas.MoveTo(x,y);
end
else
begin
image1.Canvas.LineTo(x,y);
end;
end;
If ssright in shift then
begin
image1.Picture.LoadFromFile('d:/1.bmp');
if i=0 then
begin
image1.Canvas.MoveTo(x,y);
end
else
begin
i:=i-1;
image1.Canvas.MoveTo(x1[0],y1[0]);
for j:=0 to i-1 do
begin
image1.Canvas.LineTo(x1[j],y1[j]);
end;
end;
end;
end;
随手写的,可以实现在image上左键画线,右键撤销。
数组用来记录坐标,据说用tlist比较好