【问题标题】:How to get array of pixels from browser window without using canvas如何在不使用画布的情况下从浏览器窗口获取像素数组
【发布时间】:2016-12-12 22:58:12
【问题描述】:

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

【问题讨论】:

    标签: dom pixel


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      1. 在服务器上的无头浏览器中打开网页并在此处制作屏幕截图。 phantomjs 很受欢迎。
      2. (为了完整起见,我将其包括在内,尽管您说您不想采用该路线):在客户端上使用 canvas 元素。 html2canvas 是一个有趣的项目,它将整个 HTML 文档重新渲染到画布元素中,以便可以制作屏幕截图。

      如果您的用例允许,您当然可以指示您的用户截取屏幕截图并将其粘贴到可以处理剪贴板中的图像的上传表单中。在 Windows 上,只需点击“打印屏幕”和 CTRL+V。

      【讨论】:

        【解决方案3】:

        这是一个从在线网页生成图像的api:http://www.page2images.com/Create-Website-Screenshot-with-Javascript-API

        【讨论】:

          猜你喜欢
          • 2011-09-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-01-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多