unit umain; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ieview, imageenview, ExtCtrls, ComCtrls, hyieutils, imageenproc, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers; type TMainForm = class(TForm) Panel1: TPanel; ImageEnView1: TImageEnView; Panel2: TPanel; Label1: TLabel; TrackBar1: TTrackBar; Panel3: TPanel; Button9: TButton; Button1: TButton; Button2: TButton; PageControl1: TPageControl; TabSheet1: TTabSheet; GroupBox2: TGroupBox; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Button3: TButton; Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Edit4: TEdit; TabSheet2: TTabSheet; GroupBox5: TGroupBox; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Button8: TButton; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Edit10: TEdit; CheckBox1: TCheckBox; TabSheet3: TTabSheet; GroupBox3: TGroupBox; Button4: TButton; Button5: TButton; Button6: TButton; TabSheet4: TTabSheet; GroupBox4: TGroupBox; Label6: TLabel; Label7: TLabel; Button7: TButton; Edit5: TEdit; Edit6: TEdit; ProgressBar1: TProgressBar; TabSheet5: TTabSheet; Label12: TLabel; Edit11: TEdit; Button11: TButton; TabSheet6: TTabSheet; Button10: TButton; Label13: TLabel; Edit12: TEdit; Label14: TLabel; Edit13: TEdit; TabSheet7: TTabSheet; GroupBox1: TGroupBox; Label15: TLabel; Edit14: TEdit; Button12: TButton; Label16: TLabel; Edit15: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); procedure ImageEnView1Progress(Sender: TObject; per: Integer); procedure Button3Click(Sender: TObject); procedure TrackBar1Change(Sender: TObject); procedure Button4Click(Sender: TObject); procedure Button5Click(Sender: TObject); procedure Button6Click(Sender: TObject); procedure Button7Click(Sender: TObject); procedure FormShow(Sender: TObject); procedure Button8Click(Sender: TObject); procedure Button9Click(Sender: TObject); procedure Button11Click(Sender: TObject); procedure Button10Click(Sender: TObject); procedure Button12Click(Sender: TObject); private { Private declarations } Filename: string; public { Public declarations } end; var MainForm: TMainForm; implementation {$R *.DFM} {$R WindowsTheme.res} procedure TMainForm.FormShow(Sender: TObject); begin ProgressBar1.Position := 0; ImageEnView1.Proc.UndoLimit:=10; end; // Undo procedure TMainForm.Button9Click(Sender: TObject); begin ImageEnView1.Proc.Undo; ImageEnView1.Proc.ClearUndo; end; // Open... procedure TMainForm.Button1Click(Sender: TObject); begin with ImageEnView1.IO do begin FileName:=ExecuteOpenDialog('', '', false, 0, ''); LoadFromFileAuto(FileName); end; ImageEnView1.Fit; TrackBar1.Position := Round( ImageEnView1.Zoom ); end; // Reload procedure TMainForm.Button2Click(Sender: TObject); begin with ImageEnView1.IO do LoadFromFileAuto( FileName ); ImageEnView1.Fit; end; // Zoom procedure TMainForm.TrackBar1Change(Sender: TObject); begin ImageEnView1.Zoom := TrackBar1.Position; Label1.Caption:='Zoom ('+inttostr(Round(ImageEnView1.Zoom))+'%)'; end; // Progress procedure TMainForm.ImageEnView1Progress(Sender: TObject; per: Integer); begin ProgressBar1.Position := per; ProgressBar1.Visible := per < 100; end; // Automatic Image Enhancement-1 procedure TMainForm.Button3Click(Sender: TObject); begin ImageEnView1.Proc.AutoImageEnhance1( strtointdef(Edit1.Text,0), strtointdef(Edit2.Text,0), strtointdef(Edit3.Text,0), strtointdef(Edit4.Text,0) ); end; // Gray World procedure TMainForm.Button4Click(Sender: TObject); begin ImageEnView1.Proc.WhiteBalance_GrayWorld; end; // Auto White procedure TMainForm.Button5Click(Sender: TObject); begin ImageEnView1.Proc.WhiteBalance_AutoWhite; end; // Gain Offset procedure TMainForm.Button6Click(Sender: TObject); begin ImageEnView1.Proc.AdjustGainOffset; end; // Auto sharpen procedure TMainForm.Button7Click(Sender: TObject); begin ImageEnView1.Proc.AutoSharp( strtointdef(Edit5.Text,0), strtointdef(Edit6.Text,0)/1000 ); end; // Automatic Image Enhancement-1 procedure TMainForm.Button8Click(Sender: TObject); begin ImageEnView1.Proc.AutoImageEnhance2( strtointdef(edit7.Text,0), strtointdef(edit8.Text,0), iestrtofloatdef(edit9.Text,0), strtointdef(edit10.Text,0), checkbox1.Checked); end; // Contrast procedure TMainForm.Button11Click(Sender: TObject); begin ImageEnView1.Proc.Contrast2( strtointdef(edit11.Text,0)/100 ); end; // adjust histogram of Luma and saturation procedure TMainForm.Button10Click(Sender: TObject); begin ImageEnView1.Proc.AdjustLumSatHistogram( strtointdef(edit12.Text,0)/100, strtointdef(edit13.Text,0)/100 ); end; procedure TMainForm.Button12Click(Sender: TObject); begin ImageEnView1.Proc.AutoImageEnhance3( iestrtofloatdef(edit14.Text,0.35), strtointdef(edit15.Text, 80) ); end; end.