Skip to content

Commit

Permalink
Add padding option for QR code (#2570)
Browse files Browse the repository at this point in the history
  • Loading branch information
mrthiti committed Dec 31, 2023
1 parent fa4dca9 commit 7a176bb
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
5 changes: 5 additions & 0 deletions examples/qrCode.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,13 @@ var docDefinition = {
header('A very long text (' + longText.length + ' chars)'),
{ qr: longText },
'\n',

header('same long text with fit = 100 and alignment = right'),
{ qr: longText, fit: 150, alignment: 'right' },
'\n',

header('same long text with fit = 100 and padding = 1 modules in pixel'),
{ qr: longText, fit: 150, padding: 1 },
]
};

Expand Down
8 changes: 5 additions & 3 deletions src/qrEnc.js
Original file line number Diff line number Diff line change
Expand Up @@ -748,11 +748,13 @@ function buildCanvas(data, options) {
var canvas = [];
var background = options.background || '#fff';
var foreground = options.foreground || '#000';
var padding = options.padding || 0;
//var margin = options.margin || 4;
var matrix = generateFrame(data, options);
var n = matrix.length;
var modSize = Math.floor(options.fit ? options.fit / n : 5);
var size = n * modSize;
var size = (n * modSize) + (modSize * padding * 2);
var paddingXY = modSize * padding;

canvas.push({
type: 'rect',
Expand All @@ -764,8 +766,8 @@ function buildCanvas(data, options) {
if (matrix[i][j]) {
canvas.push({
type: 'rect',
x: modSize * j,
y: modSize * i,
x: modSize * j + paddingXY,
y: modSize * i + paddingXY,
w: modSize,
h: modSize,
lineWidth: 0,
Expand Down

0 comments on commit 7a176bb

Please sign in to comment.