2017-07-13 45 views
0

寫一行代碼,使用ImageMagick的「轉換」工具來呈現的文本字符串:文字看起來毀容

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

具體來說,我用從ARIAL.TTF一個Windows 3.1安裝。

它有點作品,但有時文本看起來很奇怪。讓我告訴你我的意思。這是一個什麼樣的字符串「AaBbYyZz」看起來像在Win3.1對通過IM呈現的圖像的例子:(都是8磅)

它是如何出現在Win3.1:

How it appears in Win3.1

而這裏的IM如何呈現完全相同的字符串,用完全相同的TTF文件,在完全相同的點大小:

IM's render

是什麼原因導致這種缺陷,什麼可以做,以使它看起來乾淨Ť他Win3.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 
1

您可以增加的pointsize 11或增加「密度」,以96兩者有大約同樣的效果,但也看起來相當作爲Windows渲染爲好:

renderings

,你可以看到,如果使用灰度,而不是單色的外觀得到改善。

我不能保證我使用的是相同的Arial字體。我在沒有Arial的Ubuntu平臺上,所以我按照 this question中的說明下載並安裝了一個。