Skip to content

Commit 6a610ba

Browse files
committed
Optimize the generated SVG QRCode image.
Use svgo to optimize the generated SVG QRCode image .
1 parent f91d352 commit 6a610ba

File tree

11 files changed

+176
-11
lines changed

11 files changed

+176
-11
lines changed

demo/q2.jpg

4.3 KB
Loading

demo/q2.png

-12 Bytes
Loading

demo/q3.jpg

1 Byte
Loading

demo/q3.png

875 Bytes
Loading

demo/q4.jpg

990 Bytes
Loading

demo/q4.png

-163 Bytes
Loading

demo/qrcode.svg

Lines changed: 1 addition & 1 deletion
Loading

index.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*
44
* NodeJS QRCode generator. Can save image or svg to file, get standard base64 image data url text or get SVG serialized text. Cross-browser QRCode generator for pure javascript. Support Dot style, Logo, Background image, Colorful, Title etc. settings. support binary mode.(Running without DOM on server side)
55
*
6-
* Version 4.2.4
6+
* Version 4.2.5
77
*
88
* @author [ [email protected] ]
99
*
@@ -26,6 +26,9 @@ var {
2626
var jsdom = require('jsdom');
2727
var C2S = require('./canvas2svg');
2828
var fs = require('fs');
29+
var {
30+
optimize
31+
} = require('svgo');
2932

3033
const {
3134
JSDOM
@@ -1453,7 +1456,7 @@ Drawing.prototype.makeImage = function() {
14531456
}
14541457
if (this._htOption._drawer == 'svg') {
14551458
let data = this._oContext.getSerializedSvg();
1456-
fs.writeFile(makeOptions.path, data, 'utf8', function(err) {
1459+
fs.writeFile(makeOptions.path, optimize(data).data, 'utf8', function(err) {
14571460
if (err) {
14581461
t.reject(err);
14591462
}
@@ -1487,7 +1490,7 @@ Drawing.prototype.makeImage = function() {
14871490
}
14881491
if (this._htOption._drawer == 'svg') {
14891492
let data = this._oContext.getSerializedSvg();
1490-
t.resolve(data);
1493+
t.resolve(optimize(data).data);
14911494
} else {
14921495
if (this._htOption.format == 'PNG') {
14931496
// dataUrl = this._canvas.toDataURL()

index.min.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package-lock.json

Lines changed: 164 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)