javascript-获取画布笔划点

javascript-获取画布笔划点,javascript,canvas,Javascript,Canvas,如何从画布笔划中获得黑点? 这里--画布上的所有点都是黑色的 var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(20, 100); ctx.lineTo(70, 100); ctx.closePath(); ctx.stroke(); var imageData = ctx.getImageData(

如何从画布笔划中获得黑点? 这里--画布上的所有点都是黑色的

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.beginPath();
ctx.moveTo(20, 20);
ctx.lineTo(20, 100);
ctx.lineTo(70, 100);
ctx.closePath();
ctx.stroke();

var imageData = ctx.getImageData(0, 0, c.width, c.height);
var pix = imageData.data;

// Loop over each pixel and get the black pixels
for (var i = 0, n = pix.length; i < n; i += 4) {
   if (pix[i] === 0 && pix[i+1] === 0 && pix[i+2] === 0) {
       var x = (i / 4) % c.width;
       var y = (i / 4) / c.width;

       console.log("x=" + parseInt(x, 10) + ", y=" + parseInt(y, 10));
   }
}
var c=document.getElementById(“myCanvas”);
var ctx=c.getContext(“2d”);
ctx.beginPath();
ctx.moveTo(20,20);
ctx.lineTo(20100);
ctx.lineTo(70100);
ctx.closePath();
ctx.stroke();
var imageData=ctx.getImageData(0,0,c.宽度,c.高度);
var pix=imageData.data;
//在每个像素上循环,得到黑色像素
对于(变量i=0,n=pix.length;i
您忘记检查alpha是否为非零(pix[i+3])透明像素为[0,0,0,0]谢谢!的确,你是对的!