Advertisement
eyuprog

QR Code Javascript

Jun 29th, 2019
303
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.44 KB | None | 0 0
  1. //function javascript
  2. function create_qrcode(text,targetImageID) {
  3.  
  4.  
  5.   var dotsize = 5;
  6.   var padding = 10;
  7.   var black = "rgb(0,0,0)";
  8.   var white = "rgb(255,255,255)";
  9.   var QRCodeVersion = 15;
  10.    
  11.     var canvas=document.createElement('canvas');
  12.     var qrCanvasContext = canvas.getContext('2d');
  13.   try {
  14.     var qr = new QRCode(QRCodeVersion, QRErrorCorrectLevel.L);
  15.     qr.addData(text);
  16.     qr.make();
  17.    }
  18.   catch(err) {
  19.         var errorChild = document.createElement("p");
  20.     var errorMSG = document.createTextNode("QR Code FAIL! " + err);
  21.     errorChild.appendChild(errorMSG);
  22.     return errorChild;
  23.   }
  24.    
  25.   var qrsize = qr.getModuleCount();
  26.     canvas.setAttribute('height',(qrsize * dotsize) + padding);
  27.     canvas.setAttribute('width',(qrsize * dotsize) + padding);
  28.     var shiftForPadding = padding/2;
  29.     if (canvas.getContext){
  30.         for (var r = 0; r < qrsize; r++) {
  31.             for (var c = 0; c < qrsize; c++) {
  32.                 if (qr.isDark(r, c))
  33.                     qrCanvasContext.fillStyle = black;  
  34.                 else
  35.                     qrCanvasContext.fillStyle = white;  
  36.                 qrCanvasContext.fillRect ((c*dotsize) +shiftForPadding,(r*dotsize) + shiftForPadding,dotsize,dotsize);
  37.             }  
  38.         }
  39.     }
  40.  
  41.     var imgElement = document.createElement("img");
  42.     imgElement.src = canvas.toDataURL("image/png");
  43.     $("#"+targetImageID).attr('src',imgElement.src);
  44.    
  45. }
  46.  
  47. //Cara penggunaan
  48.  
  49. <img id="tes"/>
  50.  
  51. <script>
  52. $(function () {
  53.     create_qrcode('123123123123','tes');
  54. });
  55. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement