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

📄 capture.pas

📁 大家来看看很好的源码啊里面包含很多知识点啊学习学习
💻 PAS
字号:
//###############################################################
//######作者:杨畅(sheepchang)##################################
//######Email:sheepchang@gmail.com QQ:1103754####################
//######我为人人,人人为我。希望大家一起交流,共同进步!##########
//###############################################################
unit capture;

interface

uses
  Windows,Classes,Graphics,Controls,Forms,
   ExtCtrls,JPEG,clipbrd, Dialogs,ExtDlgs;

type
  TForm4 = class(TForm)
    Timer1: TTimer;
    Image1: TImage;
    SavePictureDialog1: TSavePictureDialog;
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form4: TForm4;

implementation

uses setkey;

{$R *.dfm}
//BMP格式图片转JPG格式
procedure BMPToJPG(BmpFileName:string);
var
  Jpeg : TJPEGImage;
  Bmp : TBitmap;
begin
  Bmp := TBitmap.Create;
  try
    Bmp.LoadFromFile(BmpFileName);
    Jpeg := TJPEGImage.Create;
    try
      Jpeg.Assign(Bmp);
      Jpeg.Compress;
      //保存图片
      Jpeg.SaveToFile(Form4.SavePictureDialog1.FileName);
    finally
      Jpeg.Free;
    end;
  finally
     Bmp.Free;
  end;
end;

procedure TForm4.Timer1Timer(Sender: TObject);
var
  Fullscreen : TBitmap;
  FullscreenCanvas : TCanvas;
  DC : HDC;
begin
  Timer1.Enabled := False;//取消时钟
  Fullscreen:=TBitmap.Create;//创建一个BITMAP来存放图象
  Fullscreen.Width := Screen.Width;
  Fullscreen.Height := Screen.Height;
  DC:=GetDC(0);//取得屏幕的DC,参数0指的是屏幕
  FullscreenCanvas := TCanvas.Create;//创建一个CANVAS对象
  FullscreenCanvas.Handle := DC;
  Fullscreen.Canvas.CopyRect
  (Rect(0,0,Screen.Width,Screen.Height),FullScreenCanvas,
  Rect(0,0,Screen.Width,Screen.Height));
  //把整个屏幕复制到BITMAP中
  FullScreenCanvas.Free;//释放CANVAS对象
  ReleaseDC(0,DC);//释放DC
  Image1.Picture.Bitmap := FullScreen;//拷贝下的图象赋给IMAGE对象
  Image1.Width := FullScreen.Width;
  Image1.Height := FullScreen.Height;
  Clipboard.Assign(Image1.Picture);//把Image1中的图象复制到剪贴板
  FullScreen.Free;//释放bitmap
if  Form2.dxCheckbox2.checked then
begin //若程序的提示参数为真那么出现提示窗体
if Application.MessageBox('全屏已经截取并复制到了剪贴板!可在其它程序中粘贴!现在是否保存?','快速截图提示',MB_YESNO+MB_ICONINFORMATION)=IDYES then
  begin
      if SavePictureDialog1.Execute then
        begin  //若保存的图片为文件类型列表中的第一个即*.jpg
          if SavePictureDialog1.FilterIndex=1 then
            begin//则调用BMP转JPG过程转化
            Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
            BMPToJPG(SavePictureDialog1.FileName);
            end
          else //若保存的图片不是文件类型列表中的第一个即*.bmp
            begin //则默认扩展名为*.bmp
            SavePictureDialog1.DefaultExt:='*.bmp';
            SavePictureDialog1.FilterIndex:=2;
            Image1.Picture.SaveToFile(SavePictureDialog1.FileName);
            end
        end
      else
     Close;
     form4.Close;
  end
else
Form4.Close;
end;
end;
end.

⌨️ 快捷键说明

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