cozmo / jsQR

A pure javascript QR code reading library. This library takes in raw images and will locate, extract and parse any QR code found within.
https://cozmo.github.io/jsQR/
Apache License 2.0
3.63k stars 600 forks source link

Cannot read transparent pixels #245

Open kadirgun opened 7 months ago

kadirgun commented 7 months ago

Example image: image

I think this is a bug, so for now I solved it as follows. Before adding an image to the canvas, I fill it with a white square.

const canvas = document.createElement("canvas");
const ctx = canvas.getContext("2d");
canvas.width = img.width;
canvas.height = img.height;
ctx.fillStyle = "#fff";
ctx.fillRect(0, 0, canvas.width, canvas.height);
ctx.drawImage(img, 0, 0);
const image = ctx.getImageData(0, 0, img.width, img.height);
const result = jsqr(image.data, image.width, image.height);