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

31 lines
689 B
JavaScript

7 years ago
7 years ago
var decode = require('./src/QRCodeDecode');
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);
return decode(data)
}
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
}
module.exports = {
decodeByImageDate: decode,
decodeByDom: decodeByDom,
decodeByUrl: decodeByUrl
7 years ago
}