如何调整二维码的大小?

时间:2015-05-14 03:16:00

标签: javascript jquery css kendo-ui qr-code

我目前的HTML代码:

<input id="text" type="text"/>
<div id="qrcode"></div>

我的OLD JAVASCRIPT代码:

var qrcode = new QRCode("qrcode");

$("#text").on("keyup", function () {
qrcode.makeCode($(this).val());
}).keyup().focus();

$("#qrcode").kendoQRCode({
  value: "#test"
});

$("#qrcode")
   .css({ width: "100px", height: "100px" })
   .data("kendoQRCode").resize();

我目前的JAVASCRIPT代码:

var qrcode = new QRCode("qrcode");

$("#qrcode").kendoQRCode({
  $("#text").on("keyup", function () {
qrcode.makeCode($(this).val());
}).keyup().focus();
});

$("#qrcode")
   .css({ width: "100px", height: "100px" })
   .data("kendoQRCode").resize();

我使用的是JQuery UI 1.9.2,qrcode.min.js和kendo.all.min.js

对于我的OLD JAVASCRIPT,它打印出2个不同的qrcode。 对于我目前的JAVASCRIPT,它不打印任何东西。 我尝试过不同的方法来使用css来调整大小,但它也不起作用。 如何解决?有什么想法吗?

1 个答案:

答案 0 :(得分:3)

根据Kendo UI QRCode documentation,要设置QR码的大小,您需要使用参数size(以像素为单位)。像这样:

$("#qrcode").kendoQRCode({
    value: "#test",
    size: 300
});

这将产生尺寸为300px×300px的QR码。

根据documentation for qrcode.js,要设置生成的二维码的大小,您可以使用widthheight参数,如下所示:

var qrcode = new QRCode("qrcode");

var qrcode = new QRCode("test", {
    text: "http://jindo.dev.naver.com/collie",
    width: 400,
    height: 400,
    colorDark : "#000000",
    colorLight : "#ffffff",
    correctLevel : QRCode.CorrectLevel.H
});

在这种情况下,QR码将是400px乘400px。

关于问题的第二部分,为什么在你有2个QR码之前,现在你没有得到任何,那是因为在你创建两个之前:

// One QR Code here using qrcode.js
$("#text").on("keyup", function () {
qrcode.makeCode($(this).val());
}).keyup().focus();

// Another QR code here using Kendo UI QRCode
$("#qrcode").kendoQRCode({
  value: "#test"
});

现在你没有得到任何,可能(我没有测试过,所以我可能会弄错),因为这段代码错了:

$("#qrcode").kendoQRCode({
  $("#text").on("keyup", function () {
qrcode.makeCode($(this).val());
}).keyup().focus();
});

您正在尝试使用Kendo UI QRCode创建QR码,但传递的参数不正确(它是生成第一个QR码的事件监听器)。如果您查看控制台,您可能会在该行代码中看到一些错误。

您可能应该尝试返回原始代码,并添加文档中指定的size(或width / height)参数。

根据OP的要求,这是一个功能代码,允许使用qrcode.js设置QR码的大小:

&#13;
&#13;
var qrcode = new QRCode("qrcode", { width:100, height:100 });

$("#text").on("keyup", function () {
qrcode.makeCode($(this).val());
}).keyup().focus();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://davidshimjs.github.io/qrcodejs/qrcode.min.js"></script>

<input id="text" type="text"/>
<div id="qrcode"></div>
&#13;
&#13;
&#13;

你也可以看到它正在使用这个JSFiddle:http://jsfiddle.net/ysffjujh/1/。在这两种情况下,您只需更新heightwidth的值即可生成不同大小的QR码。