nodegm报错如何解决
这篇文章主要介绍“node gm报错如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node gm报错如何解决”文章能帮助大家解决问题。
做网站、网站设计介绍好的网站是理念、设计和技术的结合。创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。
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)"选项进行打钩)
随后,在环境目录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');//设置编码为Unicode
img.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报错如何解决”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注创新互联行业资讯频道,小编每天都会为大家更新不同的知识点。
分享文章:nodegm报错如何解决
网站链接:http://ybzwz.com/article/ijcics.html