⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmmain.pas

📁 Apprehend Screen Capture Component Version 4.2 A non-visible component to capture images. Freeware w
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    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 + -