📄 frmmain.pas
字号:
end; // case
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
end;
procedure TFormMain.EffectsSharpen1Execute(Sender: TObject);
var
Transform: TSharpenTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Sharpen Effect...';
frmStatus.lblStatus.Update;
Sleep(1000);
Transform := TSharpenTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.EffectsSmoothern1Execute(Sender: TObject);
var
Transform: TSmoothTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Smoothen Effect...';
frmStatus.lblStatus.Update;
Sleep(1000);
Transform := TSmoothTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.EffectsEdgeDetection1Execute(Sender: TObject);
var
Transform: TEdgeTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TEdgeTransform.Create;
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Edge detection effect...';
frmStatus.lblStatus.Update;
Sleep(1000);
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.EffectsEmboss1Execute(Sender: TObject);
var
Transform: TEmbossTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Emboss Effect....';
frmStatus.lblStatus.Update;
Sleep(1000);
Transform := TEmbossTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.EffectsGamma1Execute(Sender: TObject);
var
Transform: TGammaTransform;
DIBGraphic: TDibGraphic;
GammaStr: string;
Gamma: Double;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
GammaStr := '1.0';
if not InputQuery('Gamma', 'Gamma value (0.1 - 7.0)', GammaStr) then
Exit;
Application.ProcessMessages;
Gamma := StrToFloat(GammaStr);
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Gamma transform...';
frmStatus.lblStatus.Update;
Sleep(1000);
Transform := TGammaTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Gamma := Gamma;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.FitActualSize1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmOriginalSize;
FitActualSize1.Checked := True;
end;
procedure TFormMain.FitFullPage1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmFullPage;
FitFullPage1.Checked := True;
end;
procedure TFormMain.FitWidth1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmFitWidth;
FitWidth1.Checked := True;
end;
procedure TFormMain.FitHeight1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmFitHeight;
FitHeight1.Checked := True;
end;
procedure TFormMain.FitPercent1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmPercent;
FitPercent1.Checked := True;
end;
procedure TFormMain.FitToPage1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).ZoomMode := zmFitToPage;
FitToPage1.Checked := True;
end;
procedure TFormMain.Rotate901Execute(Sender: TObject);
var
Transform: TRotateTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TRotateTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Angle := 90;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; // if
end;
{--------------------------------------------------------------------------}
procedure TFormMain.Rotate1801Execute(Sender: TObject);
var
Transform: TRotateTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TRotateTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Angle := 180;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.Rotate2701Execute(Sender: TObject);
var
Transform: TRotateTransform;
DIBGraphic: TDibGraphic;
begin
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
Transform := TRotateTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Angle := 270;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.RotateArbritary1Execute(Sender: TObject);
var
Transform: TRotateTransform;
DIBGraphic: TDibGraphic;
AngleStr: string;
Angle: Double;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
AngleStr := '45';
if not InputQuery('Rotate', 'Rotation Angle', AngleStr) then
Exit;
Angle := StrToFloat(AngleStr);
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TRotateTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Angle := Angle;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.FlipHorizontal1Execute(Sender: TObject);
var
Transform: TFlipHorizontalTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TFlipHorizontalTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; //if
end;
procedure TFormMain.FlipVertical1Execute(Sender: TObject);
var
Transform: TFlipVerticalTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TFlipVerticalTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.ZoomEditExit(Sender: TObject);
begin
Statusbar1.SetFocus;
end;
procedure TFormMain.BrigntnessIncrease1Execute(Sender: TObject);
var
Transform: TBrightnessTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
frmStatus.lblStatus.Caption := 'Increasing brightness...';
frmStatus.lblStatus.Update;
frmStatus.Show;
Transform := TBrightnessTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.Percent := 3;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
finally
frmStatus.Hide;
Transform.Free;
EndHourglass;
end;
end; // if
end;
procedure TFormMain.BrightnessDecrease1Execute(Sender: TObject);
var
Transform: TBrightnessTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePag
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -