unit umain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Menus, ieview, imageenview, ievect, ExtCtrls, StdCtrls, ComCtrls, hyieutils, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers; type TForm1 = class(TForm) Panel1: TPanel; ImageEnVect1: TImageEnVect; Label1: TLabel; Memo1: TMemo; Label2: TLabel; Label3: TLabel; Button1: TButton; Edit1: TEdit; UpDown1: TUpDown; Button2: TButton; Button3: TButton; procedure ImageEnVect1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Button3Click(Sender: TObject); private { Private declarations } hobj:integer; public { Public declarations } procedure WriteCoordinates; end; var Form1: TForm1; implementation {$R *.DFM} {$R WindowsTheme.res} procedure TForm1.ImageEnVect1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ImageEnVect1.RemoveAllObjects; hobj:=ImageEnVect1.CreatePolygonFromEdge(X,Y,false,10); WriteCoordinates; end; procedure TForm1.WriteCoordinates; var i:integer; begin memo1.Lines.Clear; with ImageEnVect1 do for i:=0 to ObjPolylinePointsCount[hobj]-1 do memo1.Lines.Add( IntToStr( ObjPolylinePoints[hobj,i].X ) + ','+ IntToStr( ObjPolylinePoints[hobj,i].Y ) ); end; // Reduce points to procedure TForm1.Button1Click(Sender: TObject); begin ImageEnVect1.SimplifyPolygon(hobj, StrToInt( Edit1.Text ) ); WriteCoordinates; end; // Remove jagged edges procedure TForm1.Button2Click(Sender: TObject); begin ImageEnVect1.RemovePolygonJaggedEdges(hobj); end; // File | Open procedure TForm1.Button3Click(Sender: TObject); begin with ImageEnVect1.IO do LoadFromFileAuto( ExecuteOpenDialog('','',true,0,'') ); end; end.