繁体   English   中英

我如何找出PIL无法正确绘制字体的原因?

[英]How can I find out why PIL isn't drawing the font correctly?

这是我正在使用的代码:

from PIL import Image
import ImageFont, ImageDraw
import sys
import pdb

img = Image.new("RGBA",(300,300))
draw = ImageDraw.Draw(img)
font = ImageFont.truetype(sys.argv[1],30)
draw.text((0,100),"world",font=font,fill="red")
del draw
img.save(sys.argv[2],"PNG")

这是生成的图像: img http://www.freeimagehosting.net/image.php?976a0d3eaa.png (由于某种原因,我无法在SO上显示它,因此链接为http:// www。 freeimagehosting.net/image.php?976a0d3eaa.png

问题是,我不明白为什么它不能正确绘制字体? 我应该能够从中读到“世界”一词。 就像图片被切成两半一样。 有人有任何线索吗?

编辑:balpha评论后,我决定尝试另一种字体。 我只对ttf字体感兴趣,所以我尝试了另一种字体,并且效果很好。 这有点奇怪。 我尝试使用此字体运行的原始字体是Beautiful ES 我很好奇你们是否可以在计算机上复制相同的图像,以及您是否偶然知道为什么会复制。

PIL使用freetype2库,因此很可能是字体文件有问题。 例如,它可能定义了错误的度量标准(例如,与OS / 2相关的度量标准使用FontForge打开字体)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM