将网页另存为图像

Fav*_*ius 7 html javascript c++ java image

作为一个业余爱好项目,我正在探索将网页(HTML)保存为图像的方法,主要是使用c/c ++/javascript/java 编程.直到现在我遇到了以下几种方式:

  1. 获取IHTMLElement页面正文并使用它来查询IHTMLElementRender然后使用其DrawToDC方法(参考: http ://www.codeproject.com/KB/IP/htmlimagecapture.aspx).但问题在于它并不适用于所有页面(主要是具有嵌入式iframe的页面).

  2. 我能想到的另一种方法是使用一些Web浏览器组件,当页面完全加载时,然后使用它来捕获它BitBlt(参考: http ://msdn.microsoft.com/en-us/library/dd183370%28VS.85% 29.aspx).但问题是我请求的页面可能比我的屏幕大小长,并且它不适合Web浏览器组件.

我们非常感谢任何解决上述问题或替代方法的方向/建议.

Fav*_*ius 1

通过这两篇文章终于能够破解它:

  1. http://www.codeproject.com/KB/GDI-plus/WebPageSnapshot.aspx [c# 代码 - IE]
  2. http://www.codeproject.com/KB/graphics/IECapture.aspx [c++ 和 GDI - IE]

无法共享代码,但以上两篇文章将为您提供最佳解决方案。

另请查看:

https://addons.mozilla.org/en-US/firefox/addon/3408/ [firefox + javascript]

上面的事情还是可以的。但不保证始终有效。检查以下链接: 如何使用 IViewObject::Draw 渲染画布的可滚动区域?