我正在尝试遍历此黑白图像中的像素,并且我将人们帮助我想出的代码拼凑在一起,但我似乎可以得到我想要的结果。我正在尝试遍历像素黑色背景上的白色圆圈的 PNG 图像。在代码中,循环应该只访问像素的红色值,然后将它们的位置记录在单独的数组中。
有人可以尝试清理这段代码,甚至提供他们自己的方式吗?我想知道我做错了什么。我是编码的初学者,在这个问题上真的需要一些帮助。
<html>
<head>
</head>
<body>
<canvas id="canvas"></canvas>
<script>
var can = document.getElementById('canvas');
var ctx = can.getContext('2d');
var img = new Image();
img.onload = function(){
can.width = img.width;
can.height = img.height;
ctx.drawImage(img, 0, 0, img.width, img.height);
var w = ctx.canvas.width, h = ctx.canvas.height;
var id = ctx.getImageData(0,0,w,h);
var d = id.data;
for (var y = 0;y < h; ++y){
for (var x = 0; x < w; ++x){
var i=(y*w+x)*4;
var r=d[i], g=d[i+1], b=d[i+2], a=d[i+3];
}
}
}
img.src = 'circle-image-alone-bw.png';
</script>
</body>