如何将字符串转换为图片?

12 浏览
0 Comments

如何将字符串转换为图片?

我一周前开始学习Python,并想写一个小程序,将电子邮件转换为图像(.png),以便在论坛上共享,而不会冒险收到大量垃圾邮件。

似乎Python标准库中没有一个可以实现这个功能的模块,但我发现了一个名为PIL的模块,其中包含PIL.ImageDraw

我的问题是我似乎无法让它正常工作。

所以我的问题基本上是:

  1. 如何在图像上绘制文本。
  2. 如何创建一个空白(白色)图像。
  3. 是否有一种方法可以在实际创建文件之前将其显示在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")

0