使用Imagemagick渲染到单色图像文件的文本看起来变形了

时间:2017-07-13 05:37:25

标签: imagemagick imagemagick-convert

编写了一行代码,使用Imagemagick的'convert'实用程序来呈现一串文本:

convert -background white -fill black -pointsize 8 -font ARIAL.TTF label:"AaBbYyZz" +dither -monochrome text.png

具体来说,我正在使用Windows 3.1安装中的ARIAL.TTF。

它有点有效,但有时文字看起来很奇怪。 Lemme告诉你我的意思。下面是Win3.1中字符串“AaBbYyZz”与IM呈现的图像相比的示例:(均为8磅)

它在Win3.1中的显示方式:

How it appears in Win3.1

以下是IM如何使用完全相同的TTF文件以完全相同的点大小呈现完全相同的字符串:

IM's render

导致这种毁容的原因是什么,以及如何让它看起来像Win3.1渲染一样干净,或者至少让它看起来更好?

提前致谢。

2 个答案:

答案 0 :(得分:1)

您可以将pointsize增加到11或增加"密度"两者都有相同的效果,但看起来都不如Windows渲染效果好:

renderings

如您所见,如果使用灰度而不是单色,外观会得到改善。

我无法保证我使用的是相同的Arial字体。我在Ubuntu平台上没有Arial,所以我按照说明进行操作 this question下载并安装一个。

答案 1 :(得分:0)

ImageMagick在渲染字体时也会使用“-density”设置。您作为Windows显示字体的示例可能使用96dpi的分辨率,默认的ImageMagick分辨率为72dpi。尝试这样的事情......

convert -background white -fill black -density 96 -pointsize 8 ^
   -font ARIAL.TTF label:"AaBbYyZz" +dither -monochrome text.png