AGa*_*yer 5 fonts imagemagick image-processing imagemagick-convert
我想用ImageMagick在图像文件上添加一些文字,
这就是我输入的内容:
convert -font Verdana label:"Text 123" pic.jpg pic_new.jpg
但它返回如下错误:
Fontconfig warning: ignoring UTF-8: not a valid region tag
生成的图片没有添加任何测试.
我用谷歌搜索,但大多数帖子都没有多大帮助.
感谢您的任何提示!
Squ*_*Cat 16
出现此警告是因为您的本地环境声明了一个无效的语言环境(在本例中为UTF-8).
这一切都归结为名为的环境变量LC_CTYPE,它定义了要使用的语言环境.在您的情况下,这将默认为UTF-8您的系统上不可用的区域设置,因此您会看到ImageMagick显示警告.
你可以跑
echo "$LC_CTYPE"
Run Code Online (Sandbox Code Playgroud)
看看当前的设置是什么.
我知道有两种方法可以解决这个问题:
A)修复shell配置
根据您所使用的系统,有多种方法可以将不同的默认值应用于shell.在我的情况下,问题只是本地的,我运行OS X,所以解决方案非常简单.在" 高级"选项卡下的终端应用程序配置中,有一个名为" 国际"的部分.

在启动时设置的语言环境变量对话框被默认选中.取消选中它并重新启动终端会话后,LC_CTYPE不再设置.因此没有来自ImageMagick的警告.
B)提供区域设置
就个人而言,我认为这不是一个好方法.它更像是一种可能很麻烦的解决方法,最好避免使用.它也不是解决问题的正确方法,但它仍然不会导致ImageMagick发出进一步的警告.
通过查找ImageMagick,locale.xml您可以识别区域设置配置文件列表.找到与您的工作环境匹配的那个(假设您不希望每个默认情况下使用不同的语言环境),您可以复制该文件并保留一个locale.xml由其标识的引用locale="UTF-8".
如果您的问题出现在某个远程服务器上,您仍然可以应用方法(A),但是您需要了解如何LC_CTYPE在会话启动时设置环境变量(或取消设置).
希望这可以帮助.