unit1.pas

来自「Delphi7应用编程150例附书源码.rar」· PAS 代码 · 共 62 行

PAS
62
字号
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, StdCtrls;

type
  TfrmMain = class(TForm)
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    procedure Image1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmMain: TfrmMain;
  PosArray:array[0..3] of TPoint;
  //定义绘图点数组
  i:Integer;
  //定义整型变量

implementation

{$R *.DFM}

procedure TfrmMain.FormCreate(Sender: TObject);
begin
   i:=0;
end;

procedure TfrmMain.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
    PosArray[i].x:=X;
    PosArray[i].y:=Y;
    //设置绘图点
    Image1.Canvas.Ellipse(X-4,Y-4,X+4,Y+4);
    //绘制坐标点标记
    i:=i+1;
end;

procedure TfrmMain.Image1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
   if (i>3)then
   begin
      Image1.Canvas.PolyBezier(PosArray);
      //绘制Bezier曲线
      i:=0;
   end;
end;

end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?