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