领取我的国庆头像

2023-10-04 14:13:58 浏览数 (2)

一、效果图

这是把微信头像和红旗相结合制作出来的效果图:

如需图片和代码进行练习,可到公众号中发送“国庆头像”即可免费获取

二、实现代码

具体实现代码如下:

代码语言:javascript复制
import os 
from PIL import Image

os.chdir(r'F:公众号80_国庆头像sub')  # 设置文件存放的路径。需替换成你的路径
hq_png = Image.open('hq.png')          # 打开红旗图片
wx_head = Image.open('wx_head.jpg')    # 打开微信头像图片
hq_png = hq_png.resize(wx_head.size)   # 将国企尺寸调整为头像大小

# 遍历国旗头像的每个像素点,修改透明度
for i in range(hq_png.size[0]):
    for j in range(hq_png.size[1]):
        r, g, b, _ = hq_png.getpixel((i, j))
        alpha = max(0, 255 - i // 5 - j // 7)     # 设置透明度值        
        hq_png.putpixel((i, j), (r, g, b, alpha))  # 重新填充像素

wx_head.paste(hq_png, (0, 0), hq_png)    # 将新国旗粘贴到头像上面
wx_head.save('wx_head_gq.png')           # 保存更新好的图
wx_head = Image.open('wx_head_gq.png')    
head_size = 200,200                      # 设置微信头像的标准尺寸
wx_head = wx_head.resize(head_size)      # 更改图片成微信头像的标准尺寸
wx_head.save('wx_head_gq.png')

得到结果:

如果你复制代码进行实现,需注意的点如下:

  1. os.chdir中的路径需替换成你存红旗和微信头像的路径。
  2. hq.png指的是红旗图片名称(可根据实际情况修改),且图片格式需为png,。
  3. wx_head.jpg指的是微信头像图片的名称(可以根据实际情况修改)。

0 人点赞