本教程操作环境:linux5.9.8系统、node-v16.18.0版、DELL G3电脑
node gm 报错怎么办?
关于nodejs gm的各种各样的问题解决方法集合(中文乱码,non-conforming drawing,��Ч���� )
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)"选项进行打钩。
搞了一天才整好这gm....
以上就是node gm 报错怎么办的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java 中 int 数组如何实现拷贝?(java int数组拷贝怎么实现)
- Java FX 在可访问性方面都有哪些重要的考虑呢?(java javafx在可访问性方面有哪些考虑 )
- Java 的 domain 具体有哪些合法的格式呢?(Java的domain有哪些合法格式)
- Java 中 shuffle 函数的参数该如何设置?(Java中shuffle函数的参数设置)
- Java 重构到底有哪些作用呢?(Java重构有什么用)
- 在 Java 中如何利用 Vector 来定义二维数组?(java中怎么用vector定义二维数组)
- 为何 Java 环境变量配置总是难以成功?(java环境变量配置为什么不成功)
- 如何配置 Java 文件上传接口?(java文件上传接口怎么配置)
- 如何在 JAVA 中直接读取文件流内容?(JAVA怎么直接读取文件流内容)
- 如何将 Java 文件转换为可执行文件?(java文件如何变成可执行文件)