javascript - 获取 DOM 元素的图像数据

标签 javascript html dom

是否有可能(通过标准 JS 或某些浏览器扩展)获取 DOM 元素的图像数据?

我在想这样的用法:

  • 创建一个屏幕外 DOM 元素
  • 动态填充一些 CSS 样式的内容
  • 获取其图像数据
  • 以某种方式使用图像数据:
    • 作为背景(装饰性重复文字)
    • 作为子弹图像(unicode 子弹)
    • 作为 WebGL 纹理(神奇!)
    • ...

这能做到吗?有过这样的提案吗?

最佳答案

我能想到的唯一方法是将元素呈现为 HTML5 canvas 对象。这至少很难说。我通过快速谷歌搜索找到的一个这样的渲染引擎可以在以下位置找到:http://www.isogenicengine.com/2011/08/19/rendering-html-css-to-canvas/

其他显然存在,包括:

绘制到 Canvas 后,您可以检索数据 url,该 url 可用于设置图像和 css 的 src 属性,最有可能使用以下方法设置 WebGL 纹理。

var canvas = document.getElementById("mycanvas");
var img = canvas.toDataURL("image/png");

此外,如果您专门针对 Firefox,它们具有专有功能,可以完全满足您的需求。 https://developer.mozilla.org/en/Drawing_Graphics_with_Canvas#Rendering_Web_Content_Into_A_Canvas

关于javascript - 获取 DOM 元素的图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10145676/

相关文章:

javascript - 将外部 html 的 DIV 内容移动到另一个文件的 Div

javascript - 如何从json渲染mustache js

javascript - jQuery .load 未在 Cocoa WebView 中加载本地 html 文件

html - 如何让最右边的列填充剩余空间?

javascript - 使用 JavaScript 通过一些查询字符串将用户重定向到当前页面

jquery - 页面底部的粘性导航栏

javascript - [dom-bind::_createEventHandler]:未定义监听器方法

javascript - 将html字符串写入文档并在IE10中读取其外部html

javascript - nightmarejs document.getElementsByClassName() 返回空对象

javascript - 如何使用 JavaScript 创建时间计数器?