0

我想在画布上获得一个 .jpg,添加一个矩形和一个字符串,效果很好。之后,我想从画布中创建一个 jpg,效果很好,但画布的 jpg 确实只显示了矩形和字符串。快速代码示例 - 我知道它是一个丑陋的画布 - 只是测试;)

<!DOCTYPE html>
<html>
<body>
<canvas id="meinCanvas" width="600" height="600" style="border:1px solid #c3c3c3;">
Your browser does not support the canvas element.
</canvas>
</body>

<script type="text/javascript">
var canv = document.getElementById("meinCanvas");
var context = canv.getContext("2d");
context.fillStyle = "#000000";
context.fillRect(10,10, 200, 100);
var img = new Image();
img.onload = function() {
context.drawImage(img, 300, 300);
};
img.src="one.jpg";
context.font = "bold 12px sans-serif";
context.fillText("test", 500, 500);
imgsr = canv.toDataURL("image/jpeg");
document.write('<img src="' +imgsr +'"/>');
</script>
</html>
}

在上部(画布)中正确显示了 img,但在其下方的 .jpeg 中未显示 img。帮助会很棒。谢谢。

4

1 回答 1

0

保存时图像尚未加载。

将 toDataUrl 放入 img.onload 或将其链接到事件或计时器

于 2012-04-11T09:15:06.813 回答