This commit is contained in:
2025-06-11 07:37:14 +02:00
parent 29e8287806
commit 0e303ccb6b
4 changed files with 92 additions and 2 deletions

4
.gitignore vendored Normal file
View File

@@ -0,0 +1,4 @@
.DS_Store
.idea
.project

84
index-svg.html Normal file
View File

@@ -0,0 +1,84 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<title>Cross-Browser QRCode generator for Javascript</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="qrcode.js"></script>
</head>
<body>
<input id="text" type="text" value="http://jindo.dev.naver.com/collie" style="width:80%" />
<input id="color" type="color" value="#004c93" style="margin-left:10px;" />
<button id="download" onclick="downloadSVG()" style="margin-left:10px; padding:5px 10px;">Download SVG</button>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="qrcode" />
</svg>
<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), {
width: 250,
height: 250,
useSVG: true,
colorDark: "#004c93"
});
function makeCode() {
var elText = document.getElementById("text");
var elColor = document.getElementById("color");
if (!elText.value) {
alert("Input a text");
elText.focus();
return;
}
qrcode._htOption.colorDark = elColor.value;
qrcode.makeCode(elText.value);
// Update size based on module count
var moduleCount = qrcode._oQRCode.getModuleCount();
var size = moduleCount * 10;
qrcode._htOption.width = size;
qrcode._htOption.height = size;
// Regenerate with new size
qrcode.makeCode(elText.value);
}
makeCode();
$("#text").
on("blur", function () {
makeCode();
}).
on("keydown", function (e) {
if (e.keyCode == 13) {
makeCode();
}
});
$("#color").on("change", function () {
makeCode();
});
function downloadSVG() {
var svg = document.querySelector('svg');
var svgData = new XMLSerializer().serializeToString(svg);
var svgBlob = new Blob([svgData], { type: "image/svg+xml;charset=utf-8" });
var svgUrl = URL.createObjectURL(svgBlob);
var downloadLink = document.createElement("a");
downloadLink.href = svgUrl;
downloadLink.download = "qrcode.svg";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);
URL.revokeObjectURL(svgUrl);
}
</script>
</body>
</html>

2
jquery.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -538,8 +538,8 @@ var QRCode;
height : 256,
typeNumber : 4,
colorDark : "#000000",
colorLight : "#ffffff",
correctLevel : QRErrorCorrectLevel.H
colorLight : "rgba(0,0,0,0)",
correctLevel : QRErrorCorrectLevel.M
};
if (typeof vOption === 'string') {