【发布时间】:2015-12-09 23:46:37
【问题描述】:
我正在使用 Pixi.js 并尝试将动画帧保存到图像中。 canvas.toDataUrl 应该可以工作,但我得到的只是一个黑色矩形。查看实时示例here
我用来提取图像数据并设置图像的代码是:
var canvas = $('canvas')[0];
var context = canvas.getContext('2d');
$('button').click(function() {
var data = renderer.view.toDataURL("image/png", 1);
//tried var data = canvas.toDataURL();
$('img').attr('src', data);
})
【问题讨论】:
-
encoderOption 属性对“image/png”类型没有任何影响,但这不是你的问题。你确定
renderer.view确实指的是正确的画布对象吗?当您调用它的toDataURL方法时,此画布上是否绘制了任何东西? -
是的,是的。你可以看一个例子@anatoliyg.github.io/toaster
-
是的,抱歉,错过了链接。您的问题是您正在使用 webGL 上下文,那么您需要将 webGL 上下文的 preserveDrawingBuffer 属性设置为 true 才能调用
toDataURL -
你是对的。我不得不将其更改为 var renderer = PIXI.autoDetectRenderer(800, 600, null, true);它奏效了。您应该创建一个答案,我会将其标记为正确
标签: javascript canvas html5-canvas webgl pixi.js