unit Unit1; interface uses Windows, Messages, SysUtils, {$IfNDef VER130} Variants, {$EndIf} Classes, Graphics, Controls, Forms, Dialogs, ieview, imageenview, ComCtrls, StdCtrls, Buttons, hyieutils, iexBitmaps, hyiedefs, iesettings, iexLayers, iexRulers; type TForm1 = class(TForm) ImageEnView1: TImageEnView; BitBtn_OpenImage: TBitBtn; BitBtn_crop: TBitBtn; CheckBox_fit: TCheckBox; TrackBar_ImageEn_Zoom: TTrackBar; Label1: TLabel; procedure BitBtn_OpenImageClick(Sender: TObject); procedure BitBtn_cropClick(Sender: TObject); procedure CheckBox_fitClick(Sender: TObject); procedure TrackBar_ImageEn_ZoomChange(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} {$R WindowsTheme.res} procedure TForm1.BitBtn_OpenImageClick(Sender: TObject); begin imageenview1.IO.LoadFromFile(ImageEnView1.io.ExecuteOpenDialog('', '', false, 1, '')); imageenview1.MouseInteract := [miSelect]; //go for rectangular area TrackBar_ImageEn_Zoom.Position := Round(ImageEnView1.Zoom); //zet trackbar for zoom in and out end; procedure TForm1.BitBtn_cropClick(Sender: TObject); begin //ImageEnView1.AssignSelTo(ImageEnView1); if ( imageenview1.Selected ) then ImageEnView1.Proc.CropSel else ShowMessage ('Please select an area to crop with your mouse first!'); ImageEnView1.Deselect; end; procedure TForm1.CheckBox_fitClick(Sender: TObject); begin if (sender as TCheckBox).Checked then begin ImageEnView1.AutoFit := true; ImageEnView1.Fit; TrackBar_ImageEn_Zoom.Position := Round(ImageEnView1.Zoom); TrackBar_ImageEn_Zoom.Enabled := false; end else begin ImageEnView1.AutoFit := false; TrackBar_ImageEn_Zoom.Enabled := true; ImageEnView1.Zoom := TrackBar_ImageEn_Zoom.Position; end; end; procedure TForm1.TrackBar_ImageEn_ZoomChange(Sender: TObject); begin ImageEnView1.Zoom := TrackBar_ImageEn_Zoom.Position;; end; end.