85 lines
1.9 KiB
Plaintext
85 lines
1.9 KiB
Plaintext
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.
|