我正在尝试从一个画布元素中获取像素信息,对其进行操作,然后将其绘制到另一个画布元素上。当我在同一个画布上画画时,我已经能够完成这项工作。它也可以按特定顺序工作,但不是我需要的顺序。
这个想法是让隐藏的画布保存图像信息,我可以从中提取像素,进行操作,然后绘制到主画布。这在我从 myCanvas 绘制到 myCanvas2 时有效,但反之则不行。我从中获取数据的图像不需要是画布,事实上,如果它不是我想要的尽可能少的资源,我更喜欢它。
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<canvas id="myCanvas2" width="800" height="150" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<script>
var image = new Image();
image.src = 'http://timsterrible.net/gaming/pixelsweeper/images/bariumStrip.png';
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
ctx.fillStyle="red";
ctx.fillRect(10,10,50,50);
var canRaw = document.getElementById("myCanvas2");
var canvas = canRaw.getContext("2d");
image.onload = canvas.drawImage(image, 0, 0);
function copy()
{
var imgData=ctx.getImageData(32,0,32,32);
canvas.putImageData(imgData,10,70);
}
</script>
<button onclick="copy()">Copy</button>
</body>
</html>
我的目标是在混合时将一种化学品泄漏到另一种化学品中。现在它们非常坚固,当你在这里玩时可以看到一些东西。
感谢您对这种令人困惑的烦恼提供的任何帮助。
http://timsterrible.net/gaming/pixelsweeper/stack/notmixing.png