夜雨聆风学习资料网

ARTICLE · 1114092

源码篇:国庆主题头像

源码篇:国庆主题头像
在这里橙子先祝大家国庆节快乐呀!!!
想必现在宝子们已经处于放假状态了,橙子也特地为大家准备了一个符合我们国庆主题相关的代码程序(完整代码橙子直接丢文章里面了,宝子们可以直接复制,直接就可以使用了捏)
开始之前,先向宝子们求个关注,橙子会持续更新python相关的知识和源码,点个关注不迷路呀!!!

废话不多说,我们先来看下具体的代码运行后的效果是怎么样的?
(你自己的头像)
(头像国庆主题版本)
大家也是能清楚的看出来这两个头像之间的区别,将我们的红旗与我们自己的头像进行融合,制作出符合国庆节主题相关的头像。
完整代码如下(公众号放置的代码,复制到pycharm中可能会出现缩进问题,宝子们记得按照里面的缩进进行嗷)
from PIL import Image# 读取图片,并将五星红旗图片尺寸重置为头像图片的尺寸s_avatar = Image.open('头像.png').convert("RGBA")s_banner = Image.open('国旗.png').convert("RGBA").resize(s_avatar.size)# 将五星红旗图片设置透明渐变w, h = s_banner.size# 计算对角线的总距离,用于计算渐变步长diagonal = w + h - 2  # 减2是因为坐标从0开始,最大坐标是w-1和h-1for i in range(w):    for j in range(h):        if diagonal == 0:            alpha = 255  # 防止极小图片除以0        else:            # 依然设定在对角线长度的 90% 处完成渐变            step = 255 / (diagonal * 0.9)            # 核心改变:使用 (i + j) 作为距离因子            calc_alpha = 255 - ((i + j) * step)            alpha = int(calc_alpha) if calc_alpha > 0 else 0        s_banner.putpixel((i, j), s_banner.getpixel((i, j))[:-1] + (alpha,))# 将五星红旗图片粘贴到头像图片并保存s_avatar.paste(s_banner, (0,0), s_banner)s_avatar.save('国庆半透明渐变头像.png')
(红旗.png)
(头像.png)
注意:头像.png是我自己找的头像,需要换成你自己的头像,然后运行代码嗷,记得代码第四行的头像命名更改一下嗷

相关学习资料