如何将字符串转换为图片?
如何将字符串转换为图片?
我一周前开始学习Python,并想写一个小程序,将电子邮件转换为图像(.png),以便在论坛上共享,而不会冒险收到大量垃圾邮件。
似乎Python标准库中没有一个可以实现这个功能的模块,但我发现了一个名为PIL
的模块,其中包含PIL.ImageDraw
。
我的问题是我似乎无法让它正常工作。
所以我的问题基本上是:
- 如何在图像上绘制文本。
- 如何创建一个空白(白色)图像。
- 是否有一种方法可以在实际创建文件之前将其显示在GUI中保存?
当前代码:
import Image import ImageDraw import ImageFont def getSize(txt, font): testImg = Image.new('RGB', (1, 1)) testDraw = ImageDraw.Draw(testImg) return testDraw.textsize(txt, font) if __name__ == '__main__': fontname = "Arial.ttf" fontsize = 11 text = "[email protected]" colorText = "black" colorOutline = "red" colorBackground = "white" font = ImageFont.truetype(fontname, fontsize) width, height = getSize(text, font) img = Image.new('RGB', (width+4, height+4), colorBackground) d = ImageDraw.Draw(img) d.text((2, height/2), text, fill=colorText, font=font) d.rectangle((0, 0, width+3, height+3), outline=colorOutline) img.save("D:/image.png")