javascript - Canvas - DrawImage 方法

标签 javascript canvas html5-canvas

“DrawImage”-Canvas 元素的方法出现了一个奇怪的问题。我使用以下代码创建 Canvas 并将其附加到“rightcanvas”div。

var rightcanvas = document.getElementById('rightcanvas');   
rcanvas = document.createElement('canvas');
rcanvas.setAttribute('width', canvasLength);
rcanvas.setAttribute('height', canvasHeight);
rcanvas.setAttribute('id', 'rcanvas');
rightcanvas.appendChild(rcanvas);

现在我尝试绘制一个 Base64 编码的图像。

var rcontext = rcanvas.getContext('2d');
var image = new Image();
image.src = 'data:image/png;base64,iVBOR....';
rcontext.drawImage(image,0,0);

将创建并附加 Canvas 。但是图像不会显示。有人知道是什么问题吗? =(

最佳答案

在将图像绘制到 Canvas 之前,您必须等待图像加载。

var image = new Image();
image.onload = function() {
    rcontext.drawImage(image, 0, 0);
}
image.src = 'data:image/png;base64,iVBOR....';

关于javascript - Canvas - DrawImage 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9963285/

相关文章:

javascript - 如果在声明变量之前使用变量,为什么不会抛出 ReferenceError?

javascript - 如何从 JSON 对象中删除对象?

javascript - 在 Canvas 背景图像上插入绘制的形状

javascript - 如何在 javascript 中将重力应用于弹跳球 -

javascript - 如何在多个位置绘制 svg,在另一个 svg 图像之上

javascript - 如何添加以下代码中的数字?

javascript - 循环遍历两个列表,从第一个列表中获取值,将它们添加到第二个列表中

javascript - html5 canvas贝塞尔曲线获取所有点

javascript - HTML Canvas 在绘制后立即删除矩形

javascript - 使用时输出的渲染方式不同(for循环与setInterval,requestAnimationFrame)