我想用javascript中的输出base64字符串创建qr代码。
我找到http://davidshimjs.github.io/qrcodejs/来生成qr代码。 我想要的是从这个很棒的工具中获取base64字符串。
答案 0 :(得分:2)
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")