一周前我开始学习python,想编写一个小程序,将电子邮件转换为图像(.png),这样就可以在论坛上共享,而不会冒着收到大量垃圾邮件的风险。
看起来python标准库中没有一个模块可以做到这一点,但是我发现它有一个PIL模块(PIL.ImageDraw)。
我的问题是我似乎不能让它工作。
所以基本上我的问题是:
谢谢你的帮助:)
当前代码:
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 = "example@gmail.com"
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")
使用
ImageDraw.text
-但它不进行任何格式化,只是在给定位置打印字符串要确定文本大小,请执行以下操作:
创建图像时,请添加具有所需颜色(白色)的其他参数:
在用
Image.save
方法保存图像之前,不会有文件。然后,将它转换成GUI的显示格式只是一个适当的转换问题。这可以通过将图像编码到内存中的图像文件来完成:然后可以将其发送到GUI。或者可以直接发送原始位图数据:
当我没有错的时候,前三行是不完整的。正确的代码是:
相关问题 更多 >
编程相关推荐