|
|
|
@ -46,16 +46,16 @@ |
|
|
|
</div> |
|
|
|
<div class="full-div"> |
|
|
|
<div class="half"> |
|
|
|
<canvas id="qr-code1"></canvas><br/> |
|
|
|
<pre id="qr-code1-url"></pre> |
|
|
|
<canvas id="qr-code1-code"></canvas><br/> |
|
|
|
<pre id="qr-code1-result"></pre> |
|
|
|
<pre id="qr-code1-bytes"></pre> |
|
|
|
<pre id="qr-code1-mode"></pre> |
|
|
|
<pre id="qr-code1-error"></pre> |
|
|
|
|
|
|
|
</div> |
|
|
|
<div class="half"> |
|
|
|
<canvas id="qr-code2"></canvas><br/> |
|
|
|
<pre id="qr-code2-url"></pre> |
|
|
|
<canvas id="qr-code2-code"></canvas><br/> |
|
|
|
<pre id="qr-code2-result"></pre> |
|
|
|
<pre id="qr-code2-bytes"></pre> |
|
|
|
<pre id="qr-code2-mode"></pre> |
|
|
|
<pre id="qr-code2-error"></pre> |
|
|
|
@ -65,6 +65,7 @@ |
|
|
|
</div> |
|
|
|
|
|
|
|
<script src="js/qrcode.min.js"></script> |
|
|
|
<script src="js/ui-utils.js"></script> |
|
|
|
<script> |
|
|
|
function e(elem) { |
|
|
|
return document.getElementById(elem); |
|
|
|
@ -76,30 +77,8 @@ |
|
|
|
|
|
|
|
function generateCode(elemIdSource, elemPrefix) { |
|
|
|
let uri = e(elemIdSource).value; |
|
|
|
let params = {margin:0, width:e('qr-code1').scrollWidth, errorCorrectionLevel: 'Q', color: {dark: '#3654DD' }}; |
|
|
|
let qr = QRCode.create(uri, ); |
|
|
|
|
|
|
|
QRCode.toCanvas(e(elemPrefix), uri, params, function (error) { |
|
|
|
e(elemPrefix + "-error").innerHTML = error; |
|
|
|
e(elemPrefix + "-url").innerHTML = uri; |
|
|
|
}); |
|
|
|
|
|
|
|
let qrQ = QRCode.create(uri, { margin:0, width:275, errorCorrectionLevel: 'Q', color: {dark: '#3654DD' }}); |
|
|
|
let qrH = QRCode.create(uri, { margin:0, width:275, errorCorrectionLevel: 'H', color: {dark: '#3654DD' }}); |
|
|
|
let qrM = QRCode.create(uri, { margin:0, width:275, errorCorrectionLevel: 'M', color: {dark: '#3654DD' }}); |
|
|
|
let qrL = QRCode.create(uri, { margin:0, width:275, errorCorrectionLevel: 'L', color: {dark: '#3654DD' }}); |
|
|
|
|
|
|
|
e(elemPrefix+"-bytes").innerHTML += "QR Size Analysis: "; |
|
|
|
e(elemPrefix+"-bytes").innerHTML += "<br>- ECC L 7% " + describe(qrL); |
|
|
|
e(elemPrefix+"-bytes").innerHTML += "<br>- ECC M 15% " + describe(qrM); |
|
|
|
e(elemPrefix+"-bytes").innerHTML += "<br>- ECC Q 25% " + describe(qrQ); |
|
|
|
e(elemPrefix+"-bytes").innerHTML += "<br>- ECC H 30% " + describe(qrH); |
|
|
|
|
|
|
|
e(elemPrefix + "-mode").innerHTML = "Broken in " + qr.segments.length + " segments"; |
|
|
|
for (i=0; i<qr.segments.length; i++) { |
|
|
|
e(elemPrefix + "-mode").innerHTML += "<br>- " + i + ": " + qr.segments[i].mode.id + " " + qr.segments[i].data; |
|
|
|
} |
|
|
|
//e(elemPrefix + "-bytes").innerHTML = "QR Version: " + qr.version + " with size " + qr.modules.size + "x" + qr.modules.size + " bits => " + Math.round((qr.modules.size*qr.modules.size)/8) + " bytes"; |
|
|
|
UIUtils.drawsQR(elemPrefix, uri, uri, "Q"); |
|
|
|
} |
|
|
|
function generateQRCodes() { |
|
|
|
gtag('event', 'generateQR'); |
|
|
|
|