Adds image output. Refactors.

pull/2/head
Lars Jung 12 years ago
parent 8f5dfc49d7
commit 8397550b17

@ -18,36 +18,38 @@
qr.addData(text);
qr.make();
this.version = version;
this.level = level;
this.text = text;
this.moduleCount = qr.getModuleCount();
this.isDark = function (col, row) {
var moduleCount = qr.getModuleCount(),
isDark = function (col, row) {
return qr.isDark(col, row);
};
return qr.isDark(col, row);
},
extIsDarkFn = function (width, height, blank) {
this.extIsDarkFn = function (width, height, blank) {
if (!blank) {
return this.isDark;
}
if (!blank) {
return isDark;
}
var moduleCount = qr.getModuleCount(),
moduleWidth = width / moduleCount,
moduleHeight = height / moduleCount;
var moduleCount = qr.getModuleCount(),
moduleWidth = width / moduleCount,
moduleHeight = height / moduleCount;
return function (row, col) {
return function (row, col) {
var l = col * moduleWidth,
t = row * moduleHeight,
r = l + moduleWidth,
b = t + moduleHeight;
var l = col * moduleWidth,
t = row * moduleHeight,
r = l + moduleWidth,
b = t + moduleHeight;
return qr.isDark(row, col) && (blank.l > r || l > blank.r || blank.t > b || t > blank.b);
return isDark(row, col) && (blank.l > r || l > blank.r || blank.t > b || t > blank.b);
};
};
};
this.version = version;
this.level = level;
this.text = text;
this.moduleCount = moduleCount;
this.isDark = isDark;
this.extIsDarkFn = extIsDarkFn;
} catch (err) {
return null;
@ -130,6 +132,12 @@
return drawOnCanvas($canvas, settings);
},
// Returns an `image` element representing the QR code for the given settings.
createImage = function (settings) {
return $('<img />').attr('src', createCanvas(settings).toDataURL('image/png'));
},
// Returns a `div` element representing the QR code for the given settings.
createDiv = function (settings) {
@ -194,7 +202,13 @@
createHTML = function (settings) {
return canvasAvailable && settings.render === 'canvas' ? createCanvas(settings) : createDiv(settings);
if (canvasAvailable && settings.render === 'canvas') {
return createCanvas(settings);
} else if (canvasAvailable && settings.render === 'image') {
return createImage(settings);
}
return createDiv(settings);
},
// Plugin

Loading…
Cancel
Save