123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- (function ($) {
- 'use strict';
- var isOpera = Object.prototype.toString.call(window.opera) === '[object Opera]',
- guiValuePairs = [
- ["size", "px"],
- ["minversion", ""],
- ["quiet", " modules"],
- ["radius", "%"],
- ["msize", "%"],
- ["mposx", "%"],
- ["mposy", "%"]
- ],
- updateGui = function () {
- $.each(guiValuePairs, function (idx, pair) {
- var $label = $('label[for="' + pair[0] + '"]');
- $label.text($label.text().replace(/:.*/, ': ' + $('#' + pair[0]).val() + pair[1]));
- });
- },
- updateQrCode = function () {
- var options = {
- render: $("#render").val(),
- ecLevel: $("#eclevel").val(),
- minVersion: parseInt($("#minversion").val(), 10),
- fill: $("#fill").val(),
- background: $("#background").val(),
- // fill: $("#img-buffer")[0],
- text: $("#text").val(),
- size: parseInt($("#size").val(), 10),
- radius: parseInt($("#radius").val(), 10) * 0.01,
- quiet: parseInt($("#quiet").val(), 10),
- mode: parseInt($("#mode").val(), 10),
- mSize: parseInt($("#msize").val(), 10) * 0.01,
- mPosX: parseInt($("#mposx").val(), 10) * 0.01,
- mPosY: parseInt($("#mposy").val(), 10) * 0.01,
- label: $("#label").val(),
- fontname: $("#font").val(),
- fontcolor: $("#fontcolor").val(),
- image: $("#img-buffer")[0]
- };
- $("#container").empty().qrcode(options);
- },
- update = function () {
- updateGui();
- updateQrCode();
- },
- onImageInput = function () {
- var input = $("#image")[0];
- if (input.files && input.files[0]) {
- var reader = new FileReader();
- reader.onload = function (event) {
- $("#img-buffer").attr("src", event.target.result);
- $("#mode").val("4");
- setTimeout(update, 250);
- };
- reader.readAsDataURL(input.files[0]);
- }
- },
- download = function () {
- var data = $("#container canvas")[0].toDataURL('image/png');
- $("#download").attr("href", data);
- };
- $(function () {
- if (isOpera) {
- $('html').addClass('opera');
- $('#radius').prop('disabled', true);
- }
- $("#download").on("click", download);
- $("#image").on('change', onImageInput);
- $("input, textarea, select").on("input change", update);
- $(window).load(update);
- update();
- });
- }(jQuery));
|