mirror of
https://github.com/lrsjng/jquery-qrcode.git
synced 2026-08-12 20:01:55 +08:00
Final changes.
This commit is contained in:
@@ -13,9 +13,11 @@ Uses [QR Code Generator](http://www.d-project.com/qrcode/index.html) (MIT). Kudo
|
||||
|
||||
### develop branch
|
||||
|
||||
* adds options to set version range
|
||||
* adds optioinal label or image
|
||||
* adds version range
|
||||
* adds quiet zone
|
||||
* adds optional label or image
|
||||
* adds rounded corners
|
||||
* adds image output
|
||||
* adds demo
|
||||
|
||||
|
||||
|
||||
+8
-8
@@ -24,7 +24,7 @@
|
||||
<div id="container"></div>
|
||||
|
||||
<div class="control left">
|
||||
<a id="banner" href="http://larsjung.de/qrcode/">{{pkg.displayName}} · Demo</a>
|
||||
<a id="banner" href="http://larsjung.de/qrcode/">{{pkg.displayName}} {{pkg.version}}</a>
|
||||
<hr/>
|
||||
<label for="render">RENDER MODE</label>
|
||||
<select id="render">
|
||||
@@ -43,7 +43,7 @@
|
||||
<textarea id="text">http://larsjung.de/qrcode/</textarea>
|
||||
<hr/>
|
||||
<label for="minversion">MINVERSION:</label>
|
||||
<input id="minversion" type="range" value="5" min="1" max="10" step="1" />
|
||||
<input id="minversion" type="range" value="6" min="1" max="10" step="1" />
|
||||
<label for="eclevel">ERROR CORRECTION LEVEL</label>
|
||||
<select id="eclevel">
|
||||
<option value="L">L - Low (7%)</option>
|
||||
@@ -55,8 +55,8 @@
|
||||
<input id="quiet" type="range" value="1" min="0" max="4" step="1" />
|
||||
<label for="radius">CORNER RADIUS (not in Opera):</label>
|
||||
<input id="radius" type="range" value="50" min="0" max="50" step="10" />
|
||||
<hr/>
|
||||
<a id="download" download="qrcode.png">DOWNLOAD</a>
|
||||
<!-- <hr/> -->
|
||||
<!-- <a id="download" download="qrcode.png">DOWNLOAD</a> -->
|
||||
</div>
|
||||
|
||||
<div class="control right">
|
||||
@@ -71,16 +71,16 @@
|
||||
<hr/>
|
||||
<label for="label">LABEL</label>
|
||||
<input id="label" type="text" value="jQuery.qrcode" />
|
||||
<label for="font">FONT</label>
|
||||
<input id="font" type="text" value="Ubuntu" />
|
||||
<label for="fontsize">FONT HEIGHT:</label>
|
||||
<label for="fontsize">LABEL SIZE:</label>
|
||||
<input id="fontsize" type="range" value="11" min="1" max="20" step="1" />
|
||||
<label for="font">FONT NAME</label>
|
||||
<input id="font" type="text" value="Ubuntu" />
|
||||
<label for="fontcolor">FONT COLOR:</label>
|
||||
<input id="fontcolor" type="color" value="#ff9818" />
|
||||
<hr/>
|
||||
<label for="image">IMAGE</label>
|
||||
<input id="image" type="file" />
|
||||
<label for="imagesize">IMAGE HEIGHT:</label>
|
||||
<label for="imagesize">IMAGE SIZE:</label>
|
||||
<input id="imagesize" type="range" value="13" min="1" max="30" step="1" />
|
||||
</div>
|
||||
|
||||
|
||||
+3
-10
@@ -23,8 +23,7 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]',
|
||||
|
||||
updateQrCode = function () {
|
||||
|
||||
var mode = parseInt($("#mode").val(), 10),
|
||||
options = {
|
||||
var options = {
|
||||
render: $("#render").val(),
|
||||
ecLevel: $("#eclevel").val(),
|
||||
minVersion: parseInt($("#minversion").val(), 10),
|
||||
@@ -35,6 +34,8 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]',
|
||||
radius: parseInt($("#radius").val(), 10) * 0.01,
|
||||
quiet: parseInt($("#quiet").val(), 10),
|
||||
|
||||
mode: parseInt($("#mode").val(), 10),
|
||||
|
||||
label: $("#label").val(),
|
||||
labelsize: parseInt($("#fontsize").val(), 10) * 0.01,
|
||||
fontname: $("#font").val(),
|
||||
@@ -44,14 +45,6 @@ var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]',
|
||||
imagesize: parseInt($("#imagesize").val(), 10) * 0.01
|
||||
};
|
||||
|
||||
if (mode === 1 || mode === 2) {
|
||||
options.ext = 'label';
|
||||
options.boxed = mode === 2;
|
||||
} else if (mode === 3 || mode === 4) {
|
||||
options.ext = 'image';
|
||||
options.boxed = mode === 4;
|
||||
}
|
||||
|
||||
$("#container").empty().qrcode(options);
|
||||
},
|
||||
|
||||
|
||||
+22
-18
@@ -93,12 +93,12 @@
|
||||
sb = st + sh,
|
||||
pad = 0.01;
|
||||
|
||||
if (settings.boxed) {
|
||||
// Box
|
||||
qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad);
|
||||
} else {
|
||||
if (settings.mode === 1) {
|
||||
// Strip
|
||||
qr.addBlank(0, st - pad, size, sb + pad);
|
||||
} else {
|
||||
// Box
|
||||
qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad);
|
||||
}
|
||||
|
||||
context.fillStyle = settings.fontcolor;
|
||||
@@ -109,9 +109,8 @@
|
||||
|
||||
drawBackgroundImage = function (qr, context, settings) {
|
||||
|
||||
var size = settings.size;
|
||||
|
||||
var w = settings.image.naturalWidth || 1,
|
||||
var size = settings.size,
|
||||
w = settings.image.naturalWidth || 1,
|
||||
h = settings.image.naturalHeight || 1,
|
||||
sh = settings.imagesize,
|
||||
sw = sh * w / h,
|
||||
@@ -121,13 +120,14 @@
|
||||
sb = st + sh,
|
||||
pad = 0.01;
|
||||
|
||||
if (settings.boxed) {
|
||||
// Box
|
||||
qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad);
|
||||
} else {
|
||||
if (settings.mode === 3) {
|
||||
// Strip
|
||||
qr.addBlank(0, st - pad, size, sb + pad);
|
||||
} else {
|
||||
// Box
|
||||
qr.addBlank(sl - pad, st - pad, sr + pad, sb + pad);
|
||||
}
|
||||
|
||||
context.drawImage(settings.image, sl*size, st*size, sw*size, sh*size);
|
||||
},
|
||||
|
||||
@@ -138,9 +138,10 @@
|
||||
context.fillRect(settings.left, settings.top, settings.size, settings.size);
|
||||
}
|
||||
|
||||
if (settings.ext === 'label') {
|
||||
var mode = settings.mode;
|
||||
if (mode === 1 || mode === 2) {
|
||||
drawBackgroundLabel(qr, context, settings);
|
||||
} else if (settings.ext === 'image') {
|
||||
} else if (mode === 3 || mode === 4) {
|
||||
drawBackgroundImage(qr, context, settings);
|
||||
}
|
||||
},
|
||||
@@ -413,8 +414,13 @@
|
||||
// quiet zone in modules
|
||||
quiet: 0,
|
||||
|
||||
// extras: 'label' or 'image'
|
||||
extra: null,
|
||||
// modes
|
||||
// 0: normal
|
||||
// 1: label strip
|
||||
// 2: label box
|
||||
// 3: image strip
|
||||
// 4: image box
|
||||
mode: 0,
|
||||
|
||||
label: 'no label',
|
||||
labelsize: 0.1,
|
||||
@@ -422,9 +428,7 @@
|
||||
fontcolor: '#000',
|
||||
|
||||
image: null,
|
||||
imagesize: 0.1,
|
||||
|
||||
boxed: true
|
||||
imagesize: 0.1
|
||||
};
|
||||
|
||||
// Register the plugin
|
||||
|
||||
Reference in New Issue
Block a user