Delphi實(shí)現(xiàn)截屏存盤的方法
本文實(shí)例講述了Delphi實(shí)現(xiàn)截屏存盤的方法。分享給大家供大家參考。具體分析如下:
該實(shí)例可實(shí)現(xiàn)截取屏幕,并保存為JPEG文件格式的功能。
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;
希望本文所述對(duì)大家的Delphi程序設(shè)計(jì)有所幫助。
相關(guān)文章
Delphi 用DLL實(shí)現(xiàn)插件的簡(jiǎn)單實(shí)例
這篇文章主要介紹了Delphi 用DLL實(shí)現(xiàn)插件的簡(jiǎn)單實(shí)例的相關(guān)資料,希望通過本文能幫助到大家,這里提供實(shí)例幫助大家掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
Java中CountDownLatch和CyclicBarrier的區(qū)別與詳解
CountDownLatch和CyclicBarrier是Java并發(fā)包提供的兩個(gè)非常易用的線程同步工具類,本文主要介紹了Java中CountDownLatch和CyclicBarrier的區(qū)別與詳解,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11
Delphi中使用ISuperObject解析Json數(shù)據(jù)的實(shí)現(xiàn)代碼
這篇文章主要介紹了Delphi中使用ISuperObject解析Json數(shù)據(jù)的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-09-09
Delphi實(shí)現(xiàn)獲取進(jìn)程列表及相關(guān)信息的實(shí)例
這篇文章主要介紹了Delphi實(shí)現(xiàn)獲取進(jìn)程列表及相關(guān)信息的實(shí)例,希望通過本文大家能實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下2017-09-09
delphi mysql adbquery數(shù)據(jù)提供程序或其他服務(wù)返回 E_FAIL 狀態(tài)
這篇文章主要介紹了delphi mysql adbquery數(shù)據(jù)提供程序或其他服務(wù)返回 E_FAIL 狀態(tài)的解決方法2013-11-11
Delphi實(shí)現(xiàn)窗口文字淡入淡出漸變效果的方法
這篇文章主要介紹了Delphi實(shí)現(xiàn)窗口文字淡入淡出漸變效果,需要的朋友可以參考下2014-07-07

