首页新闻找找看学习计划

WebBrowser截图问题——截取WebBrowser加载的整个网页(可视部分和不可视部分)为图片

0
悬赏园豆:60 [已解决问题] 解决于 2012-04-28 12:31

WebBrowser截图问题——截取WebBrowser加载的整个网页(可视部分和不可视部分)为图片,具体效果可以参照遨游的页面截图功能。

例如:当前WebBrowser的可视范围为1000X600,但是整个网页加载后的范围为1200X3000,我需要截取这个1200X3000为一个大图。

暂时没有找到一次截取到一个大图的方法(对windows api不熟,只找到截取当前屏幕的,而WebBrowser的隐藏方法DrawToBitmap好像有些问题),个人想到的是每次移动scroll,每次截取一屏,最后把几次截取的图片使用gdi+合并到一个大图上。

如果各位有什么高见请留下的你的意见,谢谢

zmxmiss的主页 zmxmiss | 初学一级 | 园豆:113
提问于:2012-04-04 10:54
< >
分享
最佳答案
0

你可以尝试一下IHtmlElementRenderer接口。

收获园豆:30
zsounder | 老鸟四级 |园豆:2819 | 2012-04-04 11:08

刚刚试了下,好像也不行,参考http://www.developerfusion.com/code/4712/generate-an-image-of-a-web-page/弄的

zmxmiss | 园豆:113 (初学一级) | 2012-04-04 14:15
其他回答(1)
0

以下代码需要在document complete事件完成后执行:

Size osize = webBrowser1.Size;
webBrowser1.Size = new Size(we.bBrowser1.Document.Body.Width,webBrowser1.Document.Body.Height);//如果有误,请找获取body宽高的属性
Image img = new Bitmap(webBrowser1.Size.Width,webBrowser1.Size.Height);
((Control)webBrowser1).DrawToBitmap(img);
webBrowser1.Size = osize;
收获园豆:30
内个谁谁谁 | 园豆:232 (菜鸟二级) | 2012-04-04 17:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册