I have an array of pixel locations that I need to grab RGB values from and store in a new array. When I console log the array I see all the values but when I console log the first element array[0] I get undefined.
var topArray = [
{x: 198, y: 132},
{x: 219, y: 138},
{x: 233, y: 157},
{x: 225, y: 179},
{x: 201, y: 187},
{x: 177, y: 176},
{x: 163, y: 156},
{x: 178, y: 138},
];
let avyGridTop = [];
var img = new Image();
img.src = '/images/avy20210303.png';
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
img.onload = function() {
ctx.drawImage(img, 0, 0);
img.style.display = 'none';
topArray.forEach(pickArray);
};
function pickArray(event) {
var x = event.x;
var y = event.y;
var pixel = ctx.getImageData(x, y, 1, 1);
var data = pixel.data;
var r = data[0];
var g = data[1];
var b = data[2];
var rgb = {r, g, b};
avyGridTop.push(rgb);
};
console.log(avyGridTop[0]);