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

📄 main.pas

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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -