【问题标题】:How to take a screenshot of a web page by using Javascript如何使用 Javascript 截取网页截图
【发布时间】:2014-02-07 15:54:25
【问题描述】:

我需要捕获当前活动的网页作为屏幕截图。我已经尝试过 html2canvas 和 GrabzIt,但问题是我需要我当前所在页面的精确屏幕截图。我不想使用 html2canvas 的原因是因为它并不总是返回一个好的版本的屏幕截图(不能正确渲染)而且我不想使用 GrabzIt 因为它不是免费的。

你们中有人知道如何使用 javascript/java/flash 来完成此任务吗? 只要有效,任何选项都可以...

附:我目前正在使用 Firefox 提供的功能为我的 Firefox 插件捕获屏幕截图:context.drawWindow,现在我想让它在线可用。

非常感谢!

【问题讨论】:

标签: javascript html canvas screenshot


【解决方案1】:

目前可能的替代方案:

rasterizeHTML.js:

这个工具看起来能够捕获包含复杂 html 结构和图像的 while 页面,以及在这个演示中: http://cburgmer.github.io/rasterizeHTML.js/

生动的 3D:

在该工具的网站上,您也可以找到一个演示,它仍然受到支持和开发。

http://livelygoes3d.blogspot.co.at/2011/11/rendering-html-on-canvas.html

HTML2Canvas:

或者毕竟是 HTML2Canvas,因为它看起来不像被搁置,恰恰相反,它有一个新的发布版本。而且由于我使用它,它可能会更好地处理将图像渲染到画布上。

https://html2canvas.hertzen.com

老答案: 我在我的一个项目中使用了这个包,效果很好。我必须对这个包提出的唯一抱怨是图像在最终屏幕截图中渲染得不是很好。但可能从那以后它有所改善。

【讨论】:

  • 如前所述,我已经尝试过使用 html2canvas。它仍处于早期开发阶段,并非 100% 准确。我需要一些非常可靠的东西。无论如何,谢谢你的回答。 :)
【解决方案2】:

最后,我最终使用phantomjs 生成服务器端屏幕截图。发现它在我的场景中是最可靠的,并且它需要相当不错的屏幕截图。

【讨论】:

    猜你喜欢
    • 2010-09-08
    • 2011-01-19
    • 2011-10-25
    • 1970-01-01
    • 2022-10-14
    • 2013-08-16
    • 2013-06-15
    • 2015-09-25
    相关资源
    最近更新 更多