Delphi实现截屏功能

页面导航:首页 > 软件编程 > Delphi > Delphi实现截屏功能

Delphi实现截屏功能

来源: 作者: 时间:2016-01-21 09:33 【

** 功能: 截取屏幕中的指定区域 ** 输入参数: ** LeftPos :左坐标 ** TopPos :上坐标 ** RightPos:右坐标 ** BottomPos :底部坐标 ** author : liubin ** datetime ...
** 功能: 截取屏幕中的指定区域
  ** 输入参数:
  **     LeftPos :左坐标
  **     TopPos :上坐标
  **          RightPos:右坐标
  **          BottomPos :底部坐标
  ** author : liubin
  ** datetime : 2010-10-01
  ***********************************}
procedure 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;

摘自 #Define
Tags:

文章评论

最 近 更 新
热 点 排 行
Js与CSS工具
代码转换工具

<