jQuery.qrcode で余白を作る
jQuery.qrcode で作成した QRコードには余白がない
画面でそのまま表示するのであれば css でマージンなどを与えておけばいいが、ダウンロード目的だと都合が悪い
left とか top とかのオプションが存在するらしいので試してみるが反応なし(先にcanvasを作成しても)
ソースをいじるのも後々面倒なので、並べて Canvasを作成して余白付きでコピーすることに
- コードを実際に生成させる側の div(下記では qrCodeSrc)を、display:none: で非表示にしておく
- qeCodeDst を並べて置いて、こちらの canvas へコピー
- canvasDst 側は余白を加味したサイズにしておく
- putImageData で余白分ずらして貼り付ける(x=20, y=20)
HTML側
Javascript側
// qr生成 qrCodeSrc.innerHTML = ''; $('#qrCodeSrc').qrcode({width:120, height:120, text:'test code'}); // qrコピー var srcCanvas = $('#qrCodeSrc canvas')[0]; var image = srcCanvas.getContext('2d').getImageData(0, 0, srcCanvas.width, srcCanvas.height); canvasDst.getContext('2d').putImageData(image, 20, 20);
コメント