使用javascript的输出base64创建qrCode

时间:2014-05-26 02:39:41

标签: javascript base64 qr-code

我想用javascript中的输出base64字符串创建qr代码。

我找到http://davidshimjs.github.io/qrcodejs/来生成qr代码。 我想要的是从这个很棒的工具中获取base64字符串。

4 个答案:

答案 0 :(得分:2)

http://neocotic.com/qr.js

提供更好,更清晰的解决方案
qr.toDataURL(yourAwesomeData); //yourAwesomeData in Base64

答案 1 :(得分:1)

您可以直接从生成的变量获取Base64,即:

/*generate QRCode*/
var qrcodjs = new QRCode("qrcode", {
    text: orderData.reference,
    width: 128,
    height: 128,
    colorDark: "#000000",
    colorLight: "#ffffff",
    correctLevel: QRCode.CorrectLevel.H
});

/*get base64*/
var imgBase64Data = qrcodjs._el.childNodes[4].currentSrc;

不幸的是,这只会在Google Chrome或Firefox上运行...对于IE或Safari,您将不得不使用:

                var imgBase64 = qrcodjs._oDrawing._elImage.currentSrc;
                if (typeof imgBase64 === "undefined")
                    imgBase64 = qrcodjs._oDrawing._elImage.href;
                if (typeof imgBase64 === "undefined")
                    imgBase64 = qrcodjs._oDrawing._elImage.src;

答案 2 :(得分:0)

您可以获得此代码d-project.googlecode.com

并替换最后一个字符串

    var img = '';
    img += '<img';
    img += '\u0020src="';
    img += 'data:image/gif;base64,';
    img += base64;
    img += '"';
    img += '\u0020width="';
    img += width;
    img += '"';
    img += '\u0020height="';
    img += height;
    img += '"';
    if (alt) {
        img += '\u0020alt="';
        img += alt;
        img += '"';
    }
    img += '/>';

    var img = 'data:image/gif;base64,' + base64;

获得base64

    var qr = qrcode(4, 'M');
    qr.addData('This is base64 string');
    qr.make();
    concole.log(qr.createImgTag());

答案 3 :(得分:0)

只需使用下面给出的任何一个 qr js 库即可获得 base64

1.qrcodejs

2.easyqrcodejs

var qrcodjs = new QRCode("qrcode", {
    text: orderData.reference,
    width: 128,
    height: 128,
    colorDark: "#000000",
    colorLight: "#ffffff",
    correctLevel: QRCode.CorrectLevel.H
});

base64

qrcode._oDrawing._elCanvas.toDataURL("image/png")