如何使用Python创建PNG模板

如何使用Python创建PNG模板,python,image,templates,Python,Image,Templates,我将如何创建可以传递数据或信息的PNG模板,以便在图像中显示?为了澄清,我想做一些类似于如何工作的事情,但是使用PNG而不是SVG。或者小部件如何处理Discord的小部件图像(例如) 如果没有这种东西的图书馆,要做一个怎样的图书馆呢?(我需要一个时间接收器,所以我非常热衷于制作一些东西,即使它只适合我的需要)。你可以使用 从PIL导入图像、ImageDraw、ImageFont#导入PIL函数 类myTemplate():#您的模板 定义初始化(自我、姓名、描述、图像): self.name=

我将如何创建可以传递数据或信息的PNG模板,以便在图像中显示?为了澄清,我想做一些类似于如何工作的事情,但是使用PNG而不是SVG。或者小部件如何处理Discord的小部件图像(例如)

如果没有这种东西的图书馆,要做一个怎样的图书馆呢?(我需要一个时间接收器,所以我非常热衷于制作一些东西,即使它只适合我的需要)。

你可以使用

从PIL导入图像、ImageDraw、ImageFont#导入PIL函数
类myTemplate():#您的模板
定义初始化(自我、姓名、描述、图像):
self.name=name#将名称输入保存为self对象
self.description=description#将描述输入保存为self对象
self.image=image#将图像输入保存为self对象
def牵引(自):
"""
绘图函数
------------------ 
绘制模板
"""
img=Image.open(r'C:\foo\…\template.png','r')。convert('RGB')#打开模板图像
如果self.image!='':
粘贴=Image.open(self.Image).convert(“RGBA”)#打开所选图像
粘贴=粘贴.调整大小((278,int(粘贴.大小[1]*(278/粘贴.大小[0])))#调整图像大小以适应黑色区域的宽度
粘贴=粘贴的裁剪((0,0278322))#裁剪高度
img.paste(粘贴,(31141))#将图像粘贴到模板中
imgdraw=ImageDraw.Draw(img)#创建画布
font=ImageFont.truetype(“C:/Windows/Fonts/Calibril.ttf”,48)#加载字体
imgdraw.text((515152),self.name,(0,0,0),font=font)#绘制名称
imgdraw.text((654231),self.description,(0,0,0),font=font)#绘制描述
保存(r'C:\foo\…\out.png')#保存输出
amaztemp=myTemplate('Hello,world!','Hi there',r'C:\foo\…\images.jfif')
临时绘图()
解释 PIL是一个图像处理库,它可以用Python编辑像GIMP这样的图像(但它的局限性更大)

在这段代码中,我们声明了一个名为
myTemplate
的类,这将是我们的模板,在这个类中我们有两个函数,一个将初始化该类,并请求
name
description
image
,另一个将绘制

好的,从第13行到第15行,程序导入并验证是否有选定的图像,如果有,它将裁剪选定的图像并调整其大小(
16和
17
),然后将选定的图像粘贴到模板中

在此之后,绘制名称和描述,然后程序保存文件

您可以根据自己的需要自定义类别和行
26

图像参考 template.png

images.jfif

out.png

谢谢,解释和代码示例正是我所需要的。