BSOne.SFC/EM.Lib/ImageEn_SRC/Demos/ImageEditing/SoftSelections/umain.pas

117 lines
2.7 KiB
Plaintext

unit umain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, ComCtrls, StdCtrls, ieview, imageenview, ExtCtrls, imageenproc,
Buttons, hyieutils, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers;
type
TMainForm = class(TForm)
Panel1: TPanel;
ImageEnView1: TImageEnView;
GroupBox1: TGroupBox;
Label2: TLabel;
SelIntensity: TTrackBar;
GroupBox2: TGroupBox;
Button1: TButton;
GroupBox3: TGroupBox;
RectangleShape: TSpeedButton;
EllipseShape: TSpeedButton;
PolygonShape: TSpeedButton;
MagicWandShape: TSpeedButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Edit1: TEdit;
UpDown1: TUpDown;
Button5: TButton;
procedure SelIntensityChange(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RectangleShapeClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.DFM}
{$R WindowsTheme.res}
// change selection intensity
procedure TMainForm.SelIntensityChange(Sender: TObject);
begin
Label2.Caption := IntToStr(SelIntensity.Position);
ImageEnView1.SelectionIntensity := SelIntensity.Position;
end;
// effects button
procedure TMainForm.Button1Click(Sender: TObject);
begin
ImageEnView1.Proc.PreviewsParams := [prppDefaultLockPreview];
ImageEnView1.Proc.DoPreviews([peAll]);
end;
procedure TMainForm.FormCreate(Sender: TObject);
begin
ImageEnView1.SelectionMaskDepth := 8;
ImageEnView1.SelectionIntensity := 255;
end;
// selection shape buttons
procedure TMainForm.RectangleShapeClick(Sender: TObject);
begin
if RectangleShape.Down then
ImageEnView1.MouseInteract := [miSelect]
else if EllipseShape.Down then
ImageEnView1.MouseInteract := [miSelectCircle]
else if PolygonShape.Down then
ImageEnView1.MouseInteract := [miSelectPolygon]
else if MagicWandShape.Down then
ImageEnView1.MouseInteract := [miSelectMagicWand];
end;
// negative button
procedure TMainForm.Button2Click(Sender: TObject);
begin
ImageEnView1.Proc.Negative;
end;
// blur button
procedure TMainForm.Button3Click(Sender: TObject);
begin
ImageEnView1.Proc.Blur(3);
end;
procedure TMainForm.Button4Click(Sender: TObject);
begin
ImageEnView1.MakeSelectionFeather(UpDown1.Position);
end;
// Load Image
procedure TMainForm.Button5Click(Sender: TObject);
begin
with ImageEnView1.IO do
LoadFromFile(ExecuteOpenDialog('', '', false, 1, ''));
end;
end.