• Delphi实现截屏存盘的方法


    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,jpeg;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
        procedure ScreenCap(LeftPos,TopPos,RightPos,BottomPos:integer);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      ScreenCap(0,0,Screen.Width,Screen.Height);
    end;
    procedure TForm1.ScreenCap(LeftPos,TopPos,RightPos,BottomPos:integer);
    var
     RectWidth,RectHeight:integer;
     SourceDC,DestDC,Bhandle:integer;
     Bitmap:TBitmap;
     MyJpeg: TJpegImage;
     Stream:TMemoryStream;
    begin
     MyJpeg:= TJpegImage.Create;
     RectWidth:=RightPos-LeftPos;
     RectHeight:=BottomPos-TopPos;
     SourceDC:=CreateDC('DISPLAY','','',nil);
     DestDC:=CreateCompatibleDC(SourceDC);
     Bhandle:=CreateCompatibleBitmap(SourceDC,
     RectWidth,RectHeight);
     SelectObject(DestDC,Bhandle);
     BitBlt(DestDC,0,0,RectWidth,RectHeight,SourceDC,
     LeftPos,TopPos,SRCCOPY);
     Bitmap:=TBitmap.Create;
     Bitmap.Handle:=BHandle;
     Stream := TMemoryStream.Create;
     Bitmap.SaveToStream(Stream);
     Stream.Free;
     try
      MyJpeg.Assign(Bitmap);
      MyJpeg.CompressionQuality:=70;
      MyJpeg.Compress;
      MyJpeg.SaveToFile('C:MyJPEGImage.JPG');
     finally
      MyJpeg.Free;
      Bitmap.Free;
      DeleteDC(DestDC);
      ReleaseDC(Bhandle,SourceDC);
     end;
    end;
    end.
    

      

  • 相关阅读:
    架构、框架、组件、插件浅谈理解
    JAVA : 关于高内聚与低耦合
    windows 使用VMWARE 安装mac os
    JAVA 多线程(6):等待、通知 (1)
    JAVA 多线程(5)
    Django 笔记(六)mysql增删改查
    CSS选择器
    ubuntu 安装配置 mysql
    Django 笔记(五)自定义标签 ~ 映射mysql
    Django 笔记(四)模板标签 ~ 自定义过滤器
  • 原文地址:https://www.cnblogs.com/tc310/p/5244055.html
Copyright © 2020-2023  润新知