📄 main.pas
字号:
{----------------------------------------------------------------------------
| Library: ASG Screen Capture ( Apprehend 2000 ) TImageScrollBox (Envision Image Library) Demo
| Adirondack Software & Graphics Capture Main Form Unit
| for Delphi 5 (C) Copyright Adirondack Software & Graphics 1996-2000
|
| Module: ASGCapture
|
| Description: TASGScreenCapture class and non-visible component.
|
| Known Problems: None
|
| History: July 4, 2000. William Miller, first BETA version
| July 13, 2000. William Miller, 2nd BETA version
| Changed CaptureRect.Pas to paint the rubberband
| on the form instead of a TImage to eliminate screen flicker.
| July 15, 2000. William Miller, 3rd BETA version
| Eliminated non-animated rubberbanding added version property
| July 23, 2000 Final Changes to semo apps.
|---------------------------------------------------------------------------}
unit Main;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, ComCtrls, ASGCapture, ImgList, StdActns,
ActnList, Menus, ExtDlgs, ExtCtrls, ToolWin, StdCtrls,
EnDiGrph, EnRubber, EnImgScr, EnScan;
type
TFormMain = class ( TForm )
ToolBar1: TToolBar;
ToolButton9: TToolButton;
ToolButton1: TToolButton;
ToolButton4: TToolButton;
ToolButton12: TToolButton;
ToolButton2: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton13: TToolButton;
ToolButton21: TToolButton;
ToolButton7: TToolButton;
ToolButton14: TToolButton;
ToolButton15: TToolButton;
ToolButton16: TToolButton;
ToolButton18: TToolButton;
ToolButton17: TToolButton;
ToolButton19: TToolButton;
OpenPictureDialog1: TOpenPictureDialog;
SavePictureDialog1: TSavePictureDialog;
MainMenu1: TMainMenu;
File1: TMenuItem;
FileNewItem: TMenuItem;
FileOpenItem: TMenuItem;
FileCloseItem: TMenuItem;
FileCloseAll2: TMenuItem;
FileSaveItem: TMenuItem;
FileSaveAsItem: TMenuItem;
N1: TMenuItem;
FileExitItem: TMenuItem;
Edit1: TMenuItem;
CopyItem: TMenuItem;
PasteItem: TMenuItem;
Crop1: TMenuItem;
Undo1: TMenuItem;
Capture1: TMenuItem;
Desktop1: TMenuItem;
Area1: TMenuItem;
ActiveWindow1: TMenuItem;
Object1: TMenuItem;
Miminized1: TMenuItem;
Minimize1: TMenuItem;
Automatic1: TMenuItem;
Delay1: TMenuItem;
Help1: TMenuItem;
HelpAboutItem: TMenuItem;
HelpContents2: TMenuItem;
ActionList1: TActionList;
FileNew1: TAction;
FileOpen1: TAction;
FileClose1: TWindowClose;
FileCloseAll1: TAction;
FileSave1: TAction;
FileSaveAs1: TAction;
FileExit1: TAction;
EditCopy1: TEditCopy;
EditPaste1: TEditPaste;
HelpAbout1: TAction;
CaptureDesktop1: TAction;
CaptureArea1: TAction;
CaptureActive1: TAction;
CaptureObject1: TAction;
OptionsMinimize1: TAction;
OptionsAutomatic1: TAction;
HelpContents1: TAction;
OptionsDelay1: TAction;
EditCrop1: TAction;
EditUndo1: TAction;
ImageList1: TImageList;
ASGScreenCapture1: TASGScreenCapture;
ToolButton22: TToolButton;
StatusBar1: TStatusBar;
PageControl1: TPageControl;
CaptureImageList: TImageList;
ProgressBar1: TProgressBar;
TypePopupMenu: TPopupMenu;
N256shadesofgray1: TMenuItem;
N16shadesofgray1: TMenuItem;
BlackWhite1: TMenuItem;
N16colors1: TMenuItem;
N256colors1: TMenuItem;
N16millioncolors1: TMenuItem;
MenuItem1: TMenuItem;
Quantize1: TMenuItem;
Dither1: TMenuItem;
ImageType1: TAction;
ImageShadesOfGray256: TAction;
ImageShadesOfGray16: TAction;
ImageBlackAndWhite1: TAction;
ImageSixteenColors1: TAction;
ImageTrueColor1: TAction;
ImageColors256: TAction;
Image1: TMenuItem;
Type1: TMenuItem;
BlackAndWhite1: TMenuItem;
N16ShadesOfGray2: TMenuItem;
N256ShadesOfGray2: TMenuItem;
N16Color1: TMenuItem;
N256Colors2: TMenuItem;
TrueColor1: TMenuItem;
ImageQuantize1: TAction;
ImageDither1: TAction;
N2: TMenuItem;
Quantize2: TMenuItem;
Dither2: TMenuItem;
PopupMenuEffects: TPopupMenu;
Negative2: TMenuItem;
Antialis1: TMenuItem;
Sharpen2: TMenuItem;
Smoothern1: TMenuItem;
EdgeDetection1: TMenuItem;
Emboss2: TMenuItem;
Gamms1: TMenuItem;
ConverttoGray2: TMenuItem;
PopupMenuRotate: TPopupMenu;
Rotate902: TMenuItem;
Rotate1802: TMenuItem;
Rotate2702: TMenuItem;
Arbritary1: TMenuItem;
ImageEffects1: TAction;
ImageFit1: TAction;
ImageRotate1: TAction;
PopupMenuFit: TPopupMenu;
ActualSizeMenuItem2: TMenuItem;
FullPageMenuItem2: TMenuItem;
FitToWidthMenuItem2: TMenuItem;
FitToHeightMenuItem2: TMenuItem;
PercentMenuItem2: TMenuItem;
FitToPageMenuItem2: TMenuItem;
Effects1: TMenuItem;
PictureEffects1: TAction;
EffectsNegative1: TAction;
EffectsAntialis1: TAction;
EffectsSharpen1: TAction;
EffectsSmoothern1: TAction;
EffectsEdgeDetection1: TAction;
EffectsEmboss1: TAction;
EffectsGamma1: TAction;
FitActualSize1: TAction;
FitWidth1: TAction;
FitHeight1: TAction;
FitFullPage1: TAction;
FitPercent1: TAction;
FitToPage1: TAction;
ToolButton24: TToolButton;
Rotate901: TAction;
Rotate1801: TAction;
Rotate2701: TAction;
RotateArbritary1: TAction;
Antialis2: TMenuItem;
EdgeDetection2: TMenuItem;
Emboss1: TMenuItem;
Gamma1: TMenuItem;
Negative1: TMenuItem;
Sharpen1: TMenuItem;
Smoothern2: TMenuItem;
ActualSize1: TMenuItem;
FitFullPage2: TMenuItem;
FitHeight2: TMenuItem;
FitPercent2: TMenuItem;
FitToPage2: TMenuItem;
FitWidth2: TMenuItem;
Rotate903: TMenuItem;
Rotate1803: TMenuItem;
Rotate2703: TMenuItem;
RotateArbritary2: TMenuItem;
Rotate11: TMenuItem;
FlipHorizontal1: TAction;
FlipVertical1: TAction;
Flip1: TMenuItem;
FlipVertical2: TMenuItem;
Flip2: TMenuItem;
BrigntnessIncrease1: TAction;
BrightnessDecrease1: TAction;
ContrastIncrease1: TAction;
ContrastDecrease1: TAction;
Brightness1: TMenuItem;
Contrast1: TMenuItem;
BrigntnessIncrease11: TMenuItem;
BrightnessDecrease11: TMenuItem;
ContrastIncrease11: TMenuItem;
ContrastDecrease11: TMenuItem;
Color1: TMenuItem;
ImageConvertToGray1: TAction;
ConvertToGray1: TMenuItem;
ImageFormatConversion1: TAction;
FileScan1: TAction;
N3: TMenuItem;
Scan1: TMenuItem;
FileSelectScanner1: TAction;
SelectScanner1: TMenuItem;
N4: TMenuItem;
FilePrint1: TAction;
FileSelectPrinter1: TAction;
ToolButton8: TToolButton;
SelectPrinter1: TMenuItem;
Print1: TMenuItem;
FileProperty1: TAction;
Properties1: TMenuItem;
N5: TMenuItem;
ToolBar2: TToolBar;
FitButton: TToolButton;
EffectsButton: TToolButton;
TypeButton: TToolButton;
RotateButton: TToolButton;
PopupMenu1: TPopupMenu;
Copy1: TMenuItem;
Paste1: TMenuItem;
Crop2: TMenuItem;
N8: TMenuItem;
Close2: TMenuItem;
N9: TMenuItem;
Undo2: TMenuItem;
Properties2: TMenuItem;
Open1: TMenuItem;
Save1: TMenuItem;
SaveAs1: TMenuItem;
ImageEffects2: TMenuItem;
Type2: TMenuItem;
N6: TMenuItem;
ZoomPopupMenu: TPopupMenu;
N4001: TMenuItem;
N3001: TMenuItem;
ZoomButton: TToolButton;
ToolButton3: TToolButton;
ZoomCombo: TComboBox;
View1: TMenuItem;
N101: TMenuItem;
ViewZoom1: TAction;
N7: TMenuItem;
ViewFullScreen1: TAction;
ViewFullScreen2: TMenuItem;
ToolButton10: TToolButton;
ResetButton: TToolButton;
Reset1: TAction;
procedure FormCreate ( Sender: TObject );
procedure FormDestroy ( Sender: TObject );
procedure FileNew1Execute ( Sender: TObject );
procedure ProgressUpdate ( Sender: TObject;Stage: TProgressStage;
PercentDone: Byte;RedrawNow: Boolean;const R: TRect;const Msg: string );
procedure FileOpen1Execute ( Sender: TObject );
procedure FileClose1Execute ( Sender: TObject );
procedure FileCloseAll1Execute ( Sender: TObject );
procedure FileSave1Execute ( Sender: TObject );
procedure FileSaveAs1Execute ( Sender: TObject );
procedure EditCopy1Execute ( Sender: TObject );
procedure EditPaste1Execute ( Sender: TObject );
procedure EditCrop1Execute ( Sender: TObject );
procedure EditUndo1Execute ( Sender: TObject );
procedure CaptureDesktop1Execute ( Sender: TObject );
procedure CaptureArea1Execute ( Sender: TObject );
procedure CaptureActive1Execute ( Sender: TObject );
procedure CaptureObject1Execute ( Sender: TObject );
procedure FileExit1Execute ( Sender: TObject );
procedure HelpAbout1Execute ( Sender: TObject );
procedure HelpContents1Execute ( Sender: TObject );
procedure FormCloseQuery ( Sender: TObject;var CanClose: Boolean );
procedure PageEditChange ( Sender: TObject );
procedure OptionsMinimize1Execute ( Sender: TObject );
procedure OptionsAutomatic1Execute ( Sender: TObject );
procedure OptionsDelay1Execute ( Sender: TObject );
procedure ImageType1Execute ( Sender: TObject );
procedure ImageShadesOfGray256Execute ( Sender: TObject );
procedure ImageShadesOfGray16Execute ( Sender: TObject );
procedure ImageBlackAndWhite1Execute ( Sender: TObject );
procedure ImageSixteenColors1Execute ( Sender: TObject );
procedure ImageTrueColor1Execute ( Sender: TObject );
procedure ImageColors256Execute ( Sender: TObject );
procedure ImageQuantize1Execute ( Sender: TObject );
procedure ImageDither1Execute ( Sender: TObject );
procedure EffectsNegative1Execute ( Sender: TObject );
procedure EffectsAntialis1Execute ( Sender: TObject );
procedure EffectsSharpen1Execute ( Sender: TObject );
procedure EffectsSmoothern1Execute ( Sender: TObject );
procedure EffectsEdgeDetection1Execute ( Sender: TObject );
procedure EffectsEmboss1Execute ( Sender: TObject );
procedure EffectsGamma1Execute ( Sender: TObject );
procedure FitActualSize1Execute ( Sender: TObject );
procedure FitFullPage1Execute ( Sender: TObject );
procedure FitWidth1Execute ( Sender: TObject );
procedure FitHeight1Execute ( Sender: TObject );
procedure FitPercent1Execute ( Sender: TObject );
procedure FitToPage1Execute ( Sender: TObject );
procedure Rotate901Execute ( Sender: TObject );
procedure Rotate1801Execute ( Sender: TObject );
procedure Rotate2701Execute ( Sender: TObject );
procedure RotateArbritary1Execute ( Sender: TObject );
procedure FlipHorizontal1Execute ( Sender: TObject );
procedure FlipVertical1Execute ( Sender: TObject );
procedure BrigntnessIncrease1Execute ( Sender: TObject );
procedure BrightnessDecrease1Execute ( Sender: TObject );
procedure ContrastIncrease1Execute ( Sender: TObject );
procedure ContrastDecrease1Execute ( Sender: TObject );
procedure ImageConvertToGray1Execute ( Sender: TObject );
procedure ZoomEditExit ( Sender: TObject );
procedure FileSelectScanner1Execute ( Sender: TObject );
procedure FileScan1Execute ( Sender: TObject );
procedure FileSelectPrinter1Execute ( Sender: TObject );
procedure FilePrint1Execute ( Sender: TObject );
procedure FileProperty1Execute ( Sender: TObject );
procedure ImageEffects1Execute ( Sender: TObject );
procedure ZoomComboChange ( Sender: TObject );
procedure ViewZoom1Execute ( Sender: TObject );
procedure ViewFullScreen1Execute ( Sender: TObject );
procedure Reset1Execute(Sender: TObject);
private
{ Private declarations }
TabSheet: TTabSheet;
ImageScrollBox: TImageScrollBox;
FUndoGraphic: TDibGraphic;
Rubberband: TRubberBandMouseHandler;
FMultiPageFileName: string;
FFileName: string;
FScanner: TScanner;
procedure ShowHint ( Sender: TObject );
procedure LoadFile ( const FileName: string );
procedure ImageScrollBoxRubberbandChange ( const Rect: TRect );
procedure ImageScrollBoxImageMouseDown ( Sender: TObject;
Button: TMouseButton;Shift: TShiftState;X, Y: Integer );
procedure ImageScrollBoxImageMouseMove ( Sender: TObject;
Shift: TShiftState;X, Y: Integer );
procedure ImageScrollBoxZoomChange ( const Sender: TImageScrollBox;const Zoom: Single );
procedure ImageScrollBoxImageDblClick ( Sender: TObject;
Button: TMouseButton;Shift: TShiftState;X, Y: Integer );
function GetGraphic: TDibGraphic;
procedure OnProgress ( const Sender: TObject;
const PercentProgress: Byte );
procedure ShowImageDimensions;
procedure ShowImageFormat;
procedure ShowZoomPercent;
procedure OnAcquire ( const DibHandle: THandle;
const XDpi: Word;
const YDpi: Word;
const CallBackData: LongInt );
procedure ImageLoaded;
public
{ Public declarations }
procedure AddControls ( Sender: TObject );
procedure UpdateControls;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -