使用PIL绘制多语言文本(第二部分)

时间:2013-07-25 19:05:32

标签: python-imaging-library python-3.3

这是(希望)对以前有人问过的问题的简单跟进。

我在64位Windows 7上运行Python 3.3和Pillow。

下面的脚本输出两个版本的印地语单词来分隔图像文件,但它经常转换字符。如何确保打印到jpg / png的字符与文本中相同字符的顺序相匹配?

谢谢你, ç

from PIL import Image, ImageFont, ImageDraw
import string, random
#Hindi words: विश्वसनीय, असरदार, उपयुक्त, सीढ़ी, पेंसिल, डिब्बा
# -----------------------------------
# write text to an image
# ----------------------------------
img=Image.new("RGB", [400, 400])
font = ImageFont.truetype("mangal.ttf", 76)
draw = ImageDraw.Draw(img)
draw.text((20, 10),"विश्वसनीय",(255,255,255),font=font)
draw = ImageDraw.Draw(img)
img.save("a_test.jpg")
# -----------------------------------
# write text to an image2
# ----------------------------------
image=Image.new("RGB",[400,400])
draw = ImageDraw.Draw(image)
a=u"विश्वसनीय"
font=ImageFont.truetype("mangal.ttf", 76)
draw.text((50, 50), a, font=font)
image.save("a_test2.png")
##########################################

1 个答案:

答案 0 :(得分:0)

我怀疑你的问题是你在一个400x400像素图像的76点开始绘制一个9个字符的字符串,从50,50开始 - 所以它要么是包装还是剪裁并且搞砸了 - 尝试将你的点大小改为32或您的图像为800x800。

(IIRC 76点每个字符大约100个像素。)