1,184
社区成员
发帖
与我相关
我的任务
分享procedure tform1.snapscreenzd( swj:string ; a,b,c,d:Integer);
var
bmpscreen:Tbitmap;
jpegscreen:Tjpegimage;
FullscreenCanvas:TCanvas;
dc:HDC;
sourceRect, destRect: TRect;
hWindow , h : THandle;
begin
try
//dc:=///GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD);
///dc:=getdc(GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD));
//dc:=getdc(getdc(GetWindow(GetWindow(form1.WebBrowser1.Handle, GW_CHILD), GW_CHILD)));
hWindow := GetWindow(WebBrowser1.Handle , GW_CHILD);
h := GetWindow(hWindow, GW_CHILD);
if h<>0 then hWindow := H;
dc:=getdc(hWindow);
///showmessage(inttostr(dc)) ;
fullscreencanvas:=Tcanvas.Create;
fullscreencanvas.Handle:=dc;
bmpscreen:=Tbitmap.create;
bmpscreen.Width :=c-a;
bmpscreen.Height :=d-b;
sourcerect:=rect(0,0,c-a ,d-b );
destrect:= rect(a,b,c,d);
bmpscreen.Canvas.CopyRect(sourcerect,fullscreenCanvas,destrect);
jpegscreen:=Tjpegimage.Create ;
jpegscreen.Assign (bmpscreen);
jpegscreen.CompressionQuality:=100;
//jpegscreen.SaveToFile(pchar('c:\'+swj));
jpegscreen.SaveToFile(pchar(ExtractFilePath(ParamStr(0))+swj));
FullscreenCanvas.Free;
bmpscreen.Free;
jpegscreen.Free ;
ReleaseDC(hWindow, DC);
except
end;
end;
var
DC : HDC;
hWindow , h : THandle;
Canvas : TCanvas;
begin
hWindow := GetWindow(WebBrowser1.Handle , GW_CHILD);
h := GetWindow(hWindow, GW_CHILD);
if h<>0 then hWindow := H;
Canvas := TCanvas.Create;
DC := GetDC(hWindow);
Canvas.Handle := DC;
//使用Canvas作事
Self.Canvas.CopyRect(Rect(0,0,200,200) , Canvas , Rect(50,50,250,250));
//释放
ReleaseDC(hWindow , DC);
Canvas.Free;
end;