温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

node gm报错如何解决

发布时间:2023-01-31 11:38:24 阅读:350 作者:iii 栏目:web开发
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

这篇文章主要介绍“node gm报错如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node gm报错如何解决”文章能帮助大家解决问题。

node gm报错的解决办法:1、安装“ImageMagick 6.x”;2、在环境目录Path中增加ImageMagick安装目录,并修改代码为“require('gm').subClass({imageMagick: true});”即可。

1.中文乱码

graphicsmagick不支持中文字体绘制(未确定)

目前最直接最有效的方法为更换ImageMagick(二者功能完全相同,无需担心)

首先安装ImageMagick 6.x

(为7.x请在安装时对"Install legacy utilities(e.g. convert)"选项进行打钩)

node gm报错如何解决

随后,在环境目录Path中增加ImageMagick安装目录。

并对你的代码做以下修改:

const gm = require('gm')//原代码const gm = require('gm').subClass({imageMagick: true});//修改后的代码

接下来,检查你是否设置了中文字体,和是否编码切换为了Unicode。

中文字体我推荐使用谷歌的"Google Noto",基本啥语言都支持。

示例:

const gm = require('gm').subClass({imageMagick: true});var text = "你好!ImageMagick!";var img = gm(800, 2000, "#ffffffff");//创建一个800x2000的图片img.font("./Noto.ttf",36);//设置字体,字体大小img.encoding('Unicode');//设置编码为Unicodeimg.drawText(0, 50, "'" + text + "'");//此处 "'" 不能删除,删除会导致出现问题2(坑爹)img.write("test.png", function (err) {if(err)console.error(err)});//写出图片

2.出现报错:Error: Command failed: convert: non-conforming drawing primitive definition

给drawText的文字的左右加一个 ' 即可解决(带有文字的函数都可以这么解决)

示例:

img.drawText(0, 50, text);//错误img.drawText(0, 50, "'" + text + "'");//正确方法

3.报错:Error: Command failed: ��Ч����

一般出现于ImageMagick7.x,并设置imageMagick: true以后。

重装7.x,并在安装时对"Install legacy utilities(e.g. convert)"选项进行打钩。

关于“node gm报错如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×