如何在不使用画布的情况下从浏览器窗口获取像素数组

时间:2016-12-02 19:21:33

标签: dom pixel

我正在尝试获取屏幕(网页)的像素数组,但我知道如果不使用画布(直接向上或将HTML dom元素转换为画布,首先是无法做到这一点)。我需要捕获屏幕上的每个像素,我不知道将使用什么操作系统,所以我也不能从O / S请求显示。是否有可能的第三方工具或从DOM中的窗口对象执行此操作的方法?

3 个答案:

答案 0 :(得分:1)

我只有一个想法。也许您应该尝试将此功能移动到服务器。您可以使用WkHtmlToPDF(http://wkhtmltopdf.org/)将网站保存为PDF,将pdf文件转换为图像并读取像素数组。

答案 1 :(得分:1)

作为无法控制客户端计算机的Web开发人员,有两种方法可以获取网页的屏幕截图:

  1. 在服务器上的无头浏览器中打开网页,然后在那里制作屏幕截图。 phantomjs是一个受欢迎的。
  2. (虽然你说你不想走那条路,但我还是把它包括在内了):在客户端上使用canvas元素。 html2canvas是一个有趣的项目,它将整个HTML文档重新呈现为canvas元素,因此可以制作屏幕截图。
  3. 如果您的用例允许,您当然可以指示您的用户截取屏幕截图并将其粘贴到可以处理剪贴板图像的上传表单中。在Windows上,这是一个点击“打印屏幕”和CTRL + V的问题。

答案 2 :(得分:0)