gm文字加背景图生成图片

gm文字加背景图生成图片

月光魔力鸭

2021-04-20 13:21 阅读 1100 喜欢 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 ... 出坑地址在这里:undefined

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

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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
因为自己的记录笔记的应用是有道云,又想着把有道云跟自己的小网站联通起来,所以查找了有道云的,然后实现了nodejs版本的sdk.
由于国家的行政区划每年都有变化,所以经常需要更新最新的数据,这里提供一个nodejs版本mysql数据存储的抓取示例。
之前在知乎上有看到,基本上都是一致的,这里提供一个nodejs版本的针对微信内dat文件进行处理恢复为图片的方法。
在开发项目过程中,经常需要将开发的项目部署到服务器上,但是每个环境都有每个环境的配置等等,如果每次打包的时候都要去调整(可能删除、替换等),那就很烦人了,这里分享下自己实现的几个简单的小工具(当然这个工具可能只对我自己有用),希望能够帮到你。
分享一个自动抓取静态站资源的小工具,可以在抓取某个静态站点的时候方便很多,尤其是如果页面比较多的话,会很难受,而且会自动将资源进行归类,如果一个页面一个页面的保存的话,那就比较费劲了。
也不知道咋回事 ... 哈哈,忽然想研究下磁力网站,其实并不是很想懂里面的原理,只是搞不明白他们的资源是从哪里来的..很是纳闷?
在平时nodejs练习过程中,可能会安装多个不同版本的nodejs,那么我们如何来轻松的管理和切换呢?推荐你一个nvm来试试水
最近又回归了下DNF ,玩了一段时间,感觉也挺没意思的,关键是平时更没意思,想着不行搞个自动刷图吧(先说结论,没成)