前些朋友圈被“请给我一面国旗@微信官方”给刷了屏。从那时起就考虑有没有可能设计一个python程序来给自己的头像加一个logo(注意是随意加logo,而不是特定的国旗logo这里我们以国旗为例)今天就把这个python程序分享给大家。
老规矩,首先讲一下这个程序的大体结构以及相关的第三方库:
1、 首先要打开自己的头像和logo图片。
2、 然后得到头像和logo的宽和高
3、 最后计算出logo粘贴的位置。
4、 粘贴、保存。
这里用了两个函数第一个函数我们按照上面的步骤处理图片。第二个函数是主函数,
在主函里我输入头像和logo的路径。然后调用第一个函数。
接下来看代码:
from PIL import Image
def deal_picture(touxiang_lujing,logo_lujing):
touxiang = Image.open(touxiang_lujing,"r")
logo = Image.open(logo_lujing,"r")
#print(touxiang.size,logo.size)
touxiang_width,touxiang_height = touxiang.size
logo_width,logo_height = logo.size
x = touxiang_width - logo_width
y = touxiang_height - logo_height
#将头像与logo粘贴在一起
touxiang.paste(logo,(x,y))
touxiang.save("带有logo的头像.png")#保存
首先,导入PIL库中的Image类。(如果还没下载,请在命令行中输入pip install pillow或者pip3 install pillow)
然后通过def关键字定义函数并传入两个参数。这两个参数分别是头像和logo的相对路径。接下来我们通过open方法分别打开头像和logo图片。紧接着将头像图片和logo图片的宽和高传给变量touxiang_width,touxiang_height logo_width,logo_height.完成这些步骤之后计算出被贴图形所贴位置左上角的坐标。最后用paste方法将两张图片贴在一起,最后保存(save(完成的图片的名称))
第二个函数:
def main():
touxiang_lujing = input("请输入头像的路径:")
logo_lujing = input("请出入logo的路径:")
deal_picture(touxiang_lujing,logo_lujing)
main()
最后通过input方法输入头像和logo的路径输入格式类似:
请输入头像的路径:QQ_touxiang.jpg
请出入logo的路径:guoqi_logo.png
**注意:把头像和logo和这个程序放在一个文件夹下,这样你直接输入图片的名称就行,上图所显示的路径就是我保存的图片的名称。注意加上图片的格式如:jpg、png。