关于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....
后端路漫漫。
关于nodejs gm的各种各样的问题解决方法集合(中文乱码,non-conforming drawing,��Ч���� )相关推荐
- ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题
确保编码声明正确(例:时尚淘女之家http://www.tao36524.com) 如果您使用的是国外空间,默认是西欧而不是GB2312,你可以通过强制为GD2312的方式! 在数据提取页面的第一行代 ...
- Python 3 与 Javascript escape 传输确保数据正确方法和中文乱码解决方案
Python 3 与 Javascript escape 传输确保数据正确方法和中文乱码解决方案 参考文章: (1)Python 3 与 Javascript escape 传输确保数据正确方法和中文 ...
- EndNote20教程:中英混排问题解决方法(中文参考文献处理) 附最新版下载
作为全球市场占有率最高的个人文献管理软件,EndNote虽然对中文文献及数据库极度不友好(至少我这样认为),但仍然不影响它在国内科研人员心中的地位,因为它对英文数据库及英文文献的支持是非常友好的. 个 ...
- HTML——ASP的 Response.write 方法输出中文乱码解决方案
ASP的 Response.write方法输出的数据可能造成乱码问题 可以添加HTML的head标签限制页面的编码和限制ASP的编码解决 <!DOCTYPE html> <html ...
- 关于AJAX在jsp页面使用xmlHttp.responseText方法获取中文 乱码问题
当在jsp页面获取后台传入的中文数据时使用: var namestatus=xmlHttp.responseText; 获取到的是一串乱码,看了很多的想关解决方案却一直没有解决掉 后面用的这个方法: ...
- nodejs中服务器返回响应信息中的中文乱码
2019独角兽企业重金招聘Python工程师标准>>> const express=require('express'); var server=express(); server. ...
- mac osx wine 1.7.5 源码编译方法及中文乱码的解决
源码编译 1.先安装apple-gcc42,Mac osx自带的 llvm-gcc,编译后,无法运行wine. 1 sudo port install apple-gcc42 2.下载wine源码 1 ...
- java get提交中文乱码_java get方法提交中文乱码问题
tomcat 下的conf/server.xml connectionTimeout="20000" redirectPort="8443"/> 换成 c ...
- python php 通信,Python和php通信乱码问题解决方法
Python和php通信乱码问题解决方法 发布于 2014-07-29 22:28:21 | 118 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: Hypertex ...
最新文章
- [小明爬坑系列]AssetBundle原理介绍
- Oracle:关于分布式数据库(创建数据库链路,创建触发器)
- React Native工程中TSLint静态检查工具的探索之路
- 2018年江苏省计算机小高考,江苏2018年小高考成绩查询系统网站入口:江苏省教育考试院...
- excel引用指定单元格数据_数据、运算符及单元格引用
- Exchange系列之exchange2003sp2部署
- activeMQ 问题
- JavaScript加密库Crypto-JS的使用
- SVG 坐标和 viewBox
- 机器学习理论之(1):概率分布,信息熵,朴素贝叶斯
- linux 编译过程中acx_pthread.m4类错误解决办法
- JSP基础:(7)jsp分页与文件上传下载
- C语言用数组实现十个国家名字按字典排序
- Linux的mask什么意思中文,mask是什么意思
- Far_planner初次探索全过程(attempt search)
- 打破设备和局域网的限制,爱奇艺万能联播-上线云投屏
- CAD转JPG,在线转换,没有转换器
- 怎么在电脑上玩超级英雄联盟 超级英雄联盟电脑版玩法教程
- Bnd - Bundle Tool中文使用手册
- 白手起家的三条土豪路,你选哪条?