有没有办法使用任何元素作为画布?
示例我看到使用<canvas>
在HTML中总是有一个实际的画布元素。比如说我已经有了一个我想要绘制的<header>
元素,有没有办法直接使用它作为画布?或者我需要添加该画布元素并确保它正在填充标题?有没有办法使用任何元素作为画布?
起初我持怀疑态度,但实现的一种方式几乎,通过使用CSS和getCSSCanvasContext()
与WebKit的。这允许您将画布显示为背景,以便您可以像画布一样控制它。
例:
HTML
<header></header>
CSS
header { background: -webkit-canvas(fooBar); }
的JavaScript(当文件就绪/ onload事件)
function fillCanvas(w, h) {
var ctx = document.getCSSCanvasContext('2d', 'fooBar', w, h);
// draw into canvas
}
一个完整的例子和更多的规格给出here。
希望这很方便。
Upvote用于一个有趣的替代方法,但是您可能还需要在页眉内部放置一个实际的canvas元素或放置一个canvas元素。 – markE
从铬46这被删除。见https://bugs.chromium.org/p/chromium/issues/detail?id=475655虽然'-moz-element'可能仍然不会依赖它。您可以通过'canvas.toDataURL'和css'URL(“url”);'将背景设置为渲染画布,尽管速度很慢。 – Blindman67
没有。其他html元素没有html5 canvas的功能。只需添加一个实际的画布元素作为您的标题的孩子。 – markE