画线问题 ( 积分: 50 )

  • 主题发起人 主题发起人 zwnheut
  • 开始时间 开始时间
Z

zwnheut

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在delphi中实现鼠标轨迹划出线
 
如何在delphi中实现鼠标轨迹划出线
 
加入一个image控件
在MouseMove事件写代码
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Canvas.LineTo(x,y); //就一句话,很简单的
end;
 
如果鼠标划出曲线呢,lineto只能划直线
 
1。描点:
self.Canvas.Pixels[x,y] :=clRed;//轨迹为红色
2。设置点数组:
arrPoint :array of TPoint;
i :integer; //这两个为全局变量
procedure TForm1.FormCreate(Sender: TObject);
begin
i :=0;
SetLength(arrPoint,100); //能装下100个点的坐标
end;
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if i <100 then
begin
arrPoint :=Point(x,y);
i :=i+1;
end
else
self.Canvas.Polyline(arrPoint); // 满100个点就画出轨迹
end;
>>代码供参考,待改进<<
 
后退
顶部