我正在尝试根据波斯语(波斯语)文本制作图像。 我正在使用PIL for Python3。这是我的代码:
from PIL import Image, ImageFont, ImageDraw
text = "خطاب"
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("FreeFarsiMono.ttf", 60, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()
然而,当我运行代码时,我会得到一些带有问号的矩形框,而不是文本的图像! 我很感激任何帮助。
答案 0 :(得分:0)
首先,您必须设置源代码:
# -*- coding: utf-8 -*-
然后你必须解码你的文字:
text = text.decode('utf-8')
你的最终代码应该是这样的:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from PIL import Image, ImageFont, ImageDraw
text = "ﻡﻼﺳ"
text = text.decode('utf-8')
image = Image.new("RGBA", (100,100), (255,255,255))
font = ImageFont.truetype("yekan.ttf", 45, encoding='unic')
draw = ImageDraw.Draw(image)
draw.text((0,0), text, (0,0,0), font=font)
image.save("Test.png")
image.show()
注意如果你的信件已经分开,你就可以转换它们;例如您可以使用awebfont来解决该问题。
输出: