Source code

Revision control

Copy as Markdown

Other Tools

async function loadImage(src) {
const img = new Image();
await new Promise((resolve, reject) => {
img.onload = resolve;
img.onerror = () => reject(new Error('image load failed: ' + src));
img.src = src;
});
return img;
}
function samplePixel(img, x, y) {
const canvas = document.createElement('canvas');
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;
const ctx = canvas.getContext('2d');
ctx.drawImage(img, 0, 0);
return ctx.getImageData(x, y, 1, 1).data;
}