cozmo/jsQR

Any Idea why this Qr Can Not be Parsed?

ewkonzo opened this issue · 1 comments

azack commented

Works for me with jsqr@^1.4.0 and upng-js@^2.1.0 as a helper (since this is a test):

 const pngBuffer = fs.readFileSync(
      "tests/unit/src/views/data/115042899-92ee0c00-9edc-11eb-9a4b-b0298453765d.png"
    );
    const pngData: upng.Image = upng.decode(pngBuffer);
    const qrArray = new Uint8ClampedArray(upng.toRGBA8(pngData)[0]);
    const mockImageData: ImageData = {
      data: qrArray,
      height: 1125,
      width: 576
    };
    ...
     const code = jsQR(
        mockImageData.data,
        mockImageData.width,
        mockImageData.height
      );
    if (code) {
      console.log("Found QR code", code);
    }
  Found QR code {
     binaryData: [
       104, 116, 116, 112, 115, 58,
        47,  47,  97,  98,  99, 46,
       107, 111, 110, 122, 111, 46,
       120, 121, 122,  47
     ],
     data: 'https://abc.konzo.xyz/',
     chunks: [ { type: 'byte', bytes: [Array], text: 'https://abc.konzo.xyz/' } ],
     version: 3,
     location: {
       topRightCorner: { x: 346, y: 865 },
       topLeftCorner: { x: 230, y: 865 },
       bottomRightCorner: { x: 346, y: 981 },
       bottomLeftCorner: { x: 230, y: 981 },
       topRightFinderPattern: { x: 332, y: 879 },
       topLeftFinderPattern: { x: 244, y: 879 },
       bottomLeftFinderPattern: { x: 244, y: 967 },
       bottomRightAlignmentPattern: { x: 320, y: 955 }
     }
   }