0

我在理解 canvas javascript api 时遇到了一点问题。我想做的是在内存中加载两个 png,这样我就有了它们的字节数组并使用 requestAnimationFrame 循环做一些动画。

但我喜欢加载它们而不只是在内存中显示它们并访问字节以获得一些动画效果。

问题是,我将如何做这样的事情。根据我的观察,我了解到我可以从canvasvia获取字节getImageData。但这需要一个附加到 DOM 的画布和一个drawImage调用。这个对吗?有没有办法在不绘制或绘制任何东西的情况下加载字节?

然后我想使用 putImageData 方法在屏幕上绘制我的动画像素......?例如逐行或一些过渡效果......但首先......我如何加载准备我的像素而不显示它们?

任何帮助,链接,指针都会很棒!如果我走错了路,请随时纠正我...

4

1 回答 1

3

不,画布不需要在 DOM 中进行操作。您可以仅在 JavaScript 中创建画布。这就是他们通常所说的“背景画布”,通常用于某些库中的预渲染场景。

这是一个来自 HTML5Doctor 的演示,视频被绘制到一个非 DOM 画布上(它在文章最后一部分的某个地方。搜索“backing”)。然后在将其吐出到可见画布之前“刮取”其像素数据以进行操作。

只需确保在将图像绘制到画布之前已加载图像。

于 2013-06-11T09:18:30.297 回答