一般来说图片处理的话使用 gm 还是用的比较多的,可是碰到了问题。
const gm = require('gm');
gm(200, 100, "#4499ee")
.font('./font.ttf')
.drawText(10, 50, "中文")
.write("./coll/test.png", function (err) {
console.log(err);
});
中文乱码
我开始还以为是字体的问题,开始使用 ttc otf ,最后换成ttf 都没解决,网上在线ttc转ttf 或 otf 转ttf 的随便找了几个都不能用,最后还是安装了FontCreator 来另存的.
乱码的问题,这并不是字体的问题,是gm,不支持中文,可以通过使用imagemagic 来做中文处理,改成如下:
const gm = require('gm');
var imageMagick = gm.subClass({ imageMagick: true });
imageMagick(200, 100, "#4499ee")
.font('./font.ttf')
.drawText(10, 50, "中文")
.write("./coll/test.png", function (err) {
console.log(err);
});
我之前是安装的gm ,上个电脑装的imageMagic ,刚好踩过这个坑。