将网页另存为图像

Favonius:

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

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

  2. 我能想到的另一种方法是使用某些Web浏览器组件,当页面完全加载后,使用BitBltRef: http : //msdn.microsoft.com/zh-cn/library/dd183370%28VS.85% 29.aspx)。但是问题是我请求的页面可能长于我的屏幕大小,并且它不适合Web浏览器组件。

任何解决上述问题或替代方法的方向/建议都将受到赞赏。

Favonius:

终于可以通过阅读以下两篇文章来破解它:

  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/zh-CN/firefox/addon/3408/ [firefox + javascript]

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章