gm文字加背景图生成图片

gm文字加背景图生成图片

月光魔力鸭

2021-04-20 13:21 阅读 852 喜欢 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对文件夹以及子文件进行批量删除的实现。
当我们做爬虫或其他的一些应用的时候,如果需要一些短信验证,但是又没有那么多手机号,又不能放人在那里一直输入的时候?怎么办?
通过nodejs来进行爬取页面的内容,这里简单试试做个小任务..
前几天给朋友帮忙,想要一个一模一样的网站...自告奋勇去帮忙.. 结果发现之前一直没处理过类似的情况,虽然也写过爬虫,不过看了下网站,也不算麻烦。于是简单实现了这个自动抓站的功能,最终整理成为一个自动抓站的工具,能省很多的事情。
最近有客户提出了这么一个需求:微信dat文件在解码后的图片无法按照时间进行排序。 是的,解码后的文件的时间都是解码的时间,由于软件比较多,当时没做自动更新,所以在这里做一个小工具,可以将对应的解码后的图片的时间修改为微信dat文件对应的时间
在平时nodejs练习过程中,可能会安装多个不同版本的nodejs,那么我们如何来轻松的管理和切换呢?推荐你一个nvm来试试水
前段时间做了个微信小程序反编译的小东西,不过因为功能不全,没加分包处理,正好处理下加上,又考虑到后续可能的更新情况,准备上手增加下更新功能。
由于只是做个测试,这里使用了expresss简单搭建了个后台服务,提供文件断点下载。