You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
QRCode-decode/browser.js

29 lines
686 B
JavaScript

7 years ago
7 years ago
var qrDecode = require('./src/QRDecode');
7 years ago
var decodeByDom = function (dom) {
var canvas = document.createElement("canvas")
var ctx = canvas.getContext('2d')
canvas.width = dom.width;
canvas.height = dom.height;
ctx.drawImage(dom, 0, 0, canvas.width, canvas.height);
var data = ctx.getImageData(0, 0, canvas.width, canvas.height);
7 years ago
return qrDecode(data)
7 years ago
}
7 years ago
7 years ago
var decodeByUrl = (src, cb) => {
7 years ago
var img = new Image();
7 years ago
img.crossOrigin="anonymous";
7 years ago
img.src = src;
img.onload = function () {
try {
7 years ago
cb(null, decodeByDom(img));
7 years ago
} catch (e) {
cb(e);
}
}
img.onerror = cb;
7 years ago
}
7 years ago
qrDecode.decodeByDom = decodeByDom;
qrDecode.decodeByUrl = decodeByUrl;
module.exports = qrDecode;