喜迎国庆,几行简单代码即可实现【国庆风格】社交头像

198 阅读1分钟

前言

  国庆来临,大家逐渐也开始使用国旗或一些周边图像进行 对自己的社交软件头像进行更换。在这里我将为大家带来一个小demo实现国旗社交头像。喜欢的朋友可以支持一波。

嵌入融合

  在这里为了避免文章无法发布,我将采用其他图像替代国旗。背景图和头像图如下所示:

微信图片_20221001154146.jpg 微信图片_20221001154218.jpg

实验步骤

  1. 读取背景图片;
  2. 设定背景图像格式为RGBA;
  3. 读取背景图片的长宽;
  4. 读取自己的头像图片;
  5. 设定自己的头像格式为RGBA;
  6. 读取自己头像图片的长宽;
  7. 根据我们的需要裁剪背景,得到待融合图片,不裁剪也可以直接resize进行 操作 ;
  8. 将待融合图片设置为与自己头像大小大小一样大小;
  9. 设置背景的渐变效果;
  10. 粘贴到头像并保存或显示

  根据上述步骤中核心的步骤为第9步较为重要,这里我们采用pillow库对图像进行提取操作。

实验demo

  大家可以自行更换为自己的头像和国旗头像,另也可以更换为上下渐变(本文提供的为左右渐变)

from PIL import Image

bj = Image.open("bj.png").convert("RGBA")
size_x, size_y = bj.size
qj = Image.open("qj.png").convert("RGB")
size_w, size_h = qj.size
square = bj.resize((size_w, size_h))
# 设置背景的渐变
for i in range(size_w):
    for j in range(size_h):
        color = square.getpixel((i, j))
        alpha = 255 - i // 3
        if alpha < 0:
            alpha = 0
        color = color[:-1] + (alpha,)
        square.putpixel((i, j), color)
# 粘贴到头像并保存
qj.paste(square, (0, 0), square)  # 背景的渐变图贴到前景图
qj.save('半透明渐变头像.jpg')
半透明渐变头像.jpg 半透明渐变头像.jpg

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第4天,点击查看活动详情