From 8766a6b880adcce849aac7364d12ddef3b9cb2d0 Mon Sep 17 00:00:00 2001 From: wphiphi <96982181+wphiphi@users.noreply.github.com> Date: Sun, 2 Jan 2022 16:34:14 +0100 Subject: [PATCH] add quiet zone to canvas image ( decode section ) normal decode will work for v40 --- js/main.js | 31 ++++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/js/main.js b/js/main.js index 4892164..f9d3847 100644 --- a/js/main.js +++ b/js/main.js @@ -300,17 +300,30 @@ function getInfoBits(){ ***/ function generateResult(){ - var c = document.getElementById("qr-result"); - var size = 17+(qr_version*4); - c.width = qr_pixel_size*size; + var c = document.getElementById("qr-result"); + var size = 17+(qr_version*4); + var ctx = c.getContext("2d"); + + c.width = qr_pixel_size*size; c.height = qr_pixel_size*size; - var ctx = c.getContext("2d"); - ctx.fillStyle = "#000"; - for(var i=0; i < qr_array.length; i++){ - for(var j=0; j < qr_array[i].length; j++){ - var x = qr_pixel_size*j; - var y = qr_pixel_size*i; + // add quiet zone border and white fill + c.width += (qr_pixel_size*4) * 2; + c.height += (qr_pixel_size*4) * 2; + ctx.fillStyle = "#fff"; + ctx.fillRect(0,0,c.width,c.height); + + ctx.fillStyle = "#000"; + + for(var i=0; i < qr_array.length; i++){ + for(var j=0; j < qr_array[i].length; j++){ + var x = qr_pixel_size*j; + var y = qr_pixel_size*i; + + //shift due to quiet zone + x += qr_pixel_size*4; + y += qr_pixel_size*4; + if(qr_array[i][j] == 1){ ctx.fillStyle = "#000"; ctx.fillRect(x,y,qr_pixel_size,qr_pixel_size);