首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

webbrowser区域截图怎么实现

2012-12-29 
webbrowser区域截图如何实现我用的下面的过程 可是不行 这个虽然句柄我写的是webb的句柄 但是截图 还是 屏

webbrowser区域截图如何实现
我用的下面的过程 可是不行 这个虽然句柄我写的是webb的句柄 但是截图 还是 屏幕的截图 

求具体怎么写代码  我希望是 webb不在最前的时候 也可以截图到webb上面的区域坐标 感谢

procedure snapscreenzd( swj:string ; a,b,c,d:Integer);
var
  bmpscreen:Tbitmap;
  jpegscreen:Tjpegimage;
  FullscreenCanvas:TCanvas;
  dc:HDC;
  sourceRect, destRect: TRect;
begin
  try
  //dc:=///GetWindow(GetWindow(form1.WebBrowser1.Handle,   GW_CHILD),   GW_CHILD);
  dc:=getdc(GetWindow(GetWindow(form1.WebBrowser1.Handle,   GW_CHILD),   GW_CHILD));
  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(0, DC);
  except
  end;
end;
[解决办法]
直接getDC(form1.WebBrowser1.Handle);嘛。。

热点排行