gm文字加背景图生成图片

gm文字加背景图生成图片

月光魔力鸭

2021-04-20 13:21 阅读 827 喜欢 0 gm imagemagic font

有一个需求,需要公司的LOGO信息,但是没有,只有公司的名字,想着先生成个默认的(本来是可以通过前端判断然后合成的..但是不想改小程序了),于是开始准备处理。

一般来说图片处理的话 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 来另存的(这又是一段伤心的故事,我找字体都找了好久,最后还是跟设计MM要的..心塞)

说回乱码的问题,这并不是字体的问题,是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 ,刚好踩过这个坑。 坑的名字叫: ImageMagic command failed ... 出坑地址在这里:https://chrunlee.cn/article/nodejs-imagemagick-command.html

现在就可以无忧无虑的生成啦...

转载请注明出处: https://chrunlee.cn/article/gm-create-pic-with-font.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
从上面那篇文章过来的,这里分享下nodejs对文件夹以及子文件进行批量删除的实现。
学习爬虫的时候突然有想到想做一个音乐播放小站,可以给自己或朋友听,但是音乐哪里来呢??想到自己常听的豆瓣FM,就越发的想把这些音乐都拿下来,因此有了下文通过豆瓣FM批量抓取上万首音乐,目前已经3W+。
使用nodejs连接ftp,进行ftp的操作,包括列表、上传、下载以及速率等。
前段时间学习到了nodejs的net模块这部分,正好想实现一个局域网内的文件下载小demo,噔噔噔噔... 兴趣推动 ,马上搞一搞。
thinkjs框架使用ueditor记录。
记录下在linux环境下安装phantomjs 的步骤,防止遗忘...
想做微信/支付宝支付很久了..奈何需要的资质太多,只能慢慢申请,等待,审核..终于下来了。
docker镜像中的puppeteer安装