📄 frmmain.pas
字号:
ShowImageDimensions;
// show image format in status bar
ShowImageFormat;
// update zoom edit
ShowZoomPercent;
end;
end;
procedure TFormMain.OptionsMinimize1Execute(Sender: TObject);
begin
Minimize1.Checked := not Minimize1.Checked;
ASGScreenCapture1.Minimize := Minimize1.Checked;
end;
procedure TFormMain.OptionsAutomatic1Execute(Sender: TObject);
begin
Automatic1.Checked := not Automatic1.Checked;
ASGScreenCapture1.Auto := Automatic1.Checked;
end;
procedure TFormMain.OptionsDelay1Execute(Sender: TObject);
begin
DelayDlg.edScreenDelay.Text := IntToStr(ASGScreenCapture1.Delay);
if DelayDlg.ShowModal = mrOk then
ASGScreenCapture1.Delay := StrToInt(DelayDlg.edScreenDelay.Text);
end;
procedure TFormMain.ImageType1Execute(Sender: TObject);
var
Form: TFormatConversionForm;
DIBGraphic: TDibGraphic;
Transform: TImageFormatTransform;
DestFormat: TImageFormat;
Quantize: Boolean;
Dither: Boolean;
begin
DIBGraphic := GetGraphic;
if not DIBGraphic.Empty then begin
BeginHourglass;
try
Form := TFormatConversionForm.Create(nil);
try
Form.SourceFormat := DIBGraphic.ImageFormat;
if Form.ShowModal <> mrOk then begin
EndHourglass;
Abort;
end;
Application.ProcessMessages;
DestFormat := Form.DestFormat;
Quantize := Form.QuantizeCB.Checked;
Dither := Form.DitherCB.Checked;
finally Form.Free; end;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := DestFormat;
Transform.Quantize := Quantize;
Transform.Dither := Dither;
// Setup and Show Status Form
frmStatus.Show;
frmStatus.lblStatus.Caption := 'Changing image type (Color)...';
frmStatus.lblStatus.Update;
Sleep(100);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
frmStatus.Hide;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := TImageScrollBox(
PageControl1.ActivePage.Controls[0]).Tag + 1;
finally EndHourglass; end;
end; // if
end;
procedure TFormMain.ImageShadesOfGray256Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifGray256;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type to 256 shades of gray...';
frmStatus.lblStatus.Update;
frmStatus.Show;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally
Transform.Free;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
end;
end;
finally
frmStatus.Hide;
EndHourglass;
end;
end;
procedure TFormMain.ImageShadesOfGray16Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifGray16;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type to 16 shades of gray...';
frmStatus.lblStatus.Update;
frmStatus.Show;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
end;
finally frmStatus.Hide; end;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
end;
procedure TFormMain.ImageBlackAndWhite1Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifBlackWhite;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type to black and white...';
frmStatus.lblStatus.Update;
frmStatus.Show;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
end;
finally frmStatus.Hide; end;
end;
procedure TFormMain.ImageSixteenColors1Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifColor16;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type 16 colos)...';
frmStatus.lblStatus.Update;
frmStatus.Show;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
end;
finally frmStatus.Hide; end;
end;
procedure TFormMain.ImageTrueColor1Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifTrueColor;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type to true color...';
frmStatus.lblStatus.Update;
frmStatus.Show;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
end;
finally frmStatus.Hide; end;
end;
procedure TFormMain.ImageColors256Execute(Sender: TObject);
var
Transform: TImageFormatTransform;
DIBGraphic: TDibGraphic;
begin
DIBGraphic := GetGraphic;
try
if not DIBGraphic.Empty then begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
Transform := TImageFormatTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ImageFormat := ifColor256;
Transform.Quantize := ImageQuantize1.Checked;
Transform.Dither := ImageDither1.Checked;
// Setup and Show Status Form
frmStatus.lblStatus.Caption := 'Changing image type to 256 colors...';
frmStatus.lblStatus.Update;
frmStatus.Show;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
FUndoGraphic.Assign(GetGraphic);
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
case Transform.ImageFormat of
ifBlackWhite: StatusBar1.Panels[1].Text := ' 1 bit Black & White ';
ifGray16: StatusBar1.Panels[1].Text := ' 4 bit 16 shade gray ';
ifGray256: StatusBar1.Panels[1].Text := ' 8 bit 256 shade gray ';
ifColor16: StatusBar1.Panels[1].Text := ' 4 bit 16 colors ';
ifColor256: StatusBar1.Panels[1].Text := ' 8 bit 256 colors ';
ifTrueColor: StatusBar1.Panels[1].Text := ' 24 bit True color ';
else
StatusBar1.Panels[1].Text := ' Unknown image format ';
end; // case
finally Transform.Free; end;
end;
finally frmStatus.Hide; end;
end;
procedure TFormMain.ImageQuantize1Execute(Sender: TObject);
begin
ImageQuantize1.Checked := not ImageQuantize1.Checked;
end;
{--------------------------------------------------------------------------}
procedure TFormMain.ImageDither1Execute(Sender: TObject);
begin
ImageDither1.Checked := not ImageDither1.Checked;
end;
procedure TFormMain.EffectsNegative1Execute(Sender: TObject);
var
Transform: TNegativeTransform;
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 := 'Negative Effect...';
frmStatus.lblStatus.Update;
Sleep(1000);
Transform := TNegativeTransform.Create;
try
Transform.OnProgress := Self.OnProgress;
Transform.ApplyOnDest(FUndoGraphic, GetGraphic);
EndHourglass;
finally
Transform.Free;
frmStatus.Hide;
EndHourglass;
end;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).Tag := 1;
end; // if
end;
procedure TFormMain.EffectsAntialis1Execute(Sender: TObject);
begin
TImageScrollBox(PageControl1.ActivePage.Controls[0]).SaveUndo;
case GetGraphic.ImageFormat of
ifBlackWhite: begin
EffectsAntialis1.Checked := not EffectsAntialis1.Checked;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).AntiAliased :=
EffectsAntialis1.Checked;
end;
else begin
ShowMessage('The AntiAliased property only improves black & white images. Antialiased has been set to false.'
);
EffectsAntialis1.Checked := False;
TImageScrollBox(PageControl1.ActivePage.Controls[0]).AntiAliased := False;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -