【发布时间】:2021-12-04 19:33:34
【问题描述】:
这是我的代码。我正在上传图片并像这样使用:
> var canvas = document.createElement('canvas');
> var context = canvas.getContext('2d');
> context.drawImage(image, 0, 0);
这很好,但如果我将下面的图像数据复制到另一个画布。它会部分加载图像。
var canvas = document.getElementById('myCanvas');
var context1 = canvas.getContext('2d');
context1.putImageData(context.getImageData(0, 0, image.width, image.height), 0, 0);
我尝试了同样的方法,创建了两个画布,这段代码运行良好,但没有图像。
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 300, 300);
var d = document.getElementById("myCanvas1");
var btx = d.getContext('2d');
var imgData = ctx.getImageData(0, 0, 300, 300);
btx.putImageData(imgData, 0, 0);
如果我创建两个画布,它可以正常工作,但不像上面我在内存画布中使用的那样。
我的 HTML 文件有这个:
<canvas id="myCanvas" width="960" height="960"></canvas>
<canvas id="myCanvas1" width="960" height="960"></canvas>
【问题讨论】:
-
如果您创建画布,您需要在代码中手动设置它们的宽度和高度
-
@MysterX 我已经编辑了问题并添加了 html 文件内容。感谢您的回复。我弄错了。
-
@MysterX 您可以将其添加为有效的答案。所以我可以接受。向画布添加高度和宽度有效。
标签: javascript html canvas