1
我有一些GIF框架,我想在碰撞检测的画布上播放它们。 有没有一些方法如何从JavaScript中提取GIF帧?在画布上的GIF动画与框架控制
我有一些GIF框架,我想在碰撞检测的画布上播放它们。 有没有一些方法如何从JavaScript中提取GIF帧?在画布上的GIF动画与框架控制
简而言之,JavaScript没有简单的方法来控制动画GIF的当前帧。
长的答案是,有很多方法可以用JS来做你想做的事情,但它们是非常复杂的黑客。
hackish的例子:创建一个画布,不要将它添加到DOM(所以这不会被任何人看到)。在快速循环(setTimeout)中,不断绘制到此画布并收集快照。比较画布ImageData以查看帧是否已更改。
这应该不起作用:'当CanvasImageSource对象表示HTMLOrSVGImageElement中的动画图像时,用户代理必须使用动画的默认图像(该格式定义的图像将在动画不受支持时使用,或者禁用),或者,如果没有这样的图像,则在为CanvasRenderingContext2D API渲染图像时,动画的第一帧[[html.spec](https://html.spec.whatwg.org/multipage/scripting.html #DOM上下文-2D-的drawImage#图像源换2D-渲染-上下文)。我的测试在FF中确认了这种行为 – SleepProgger