【实用技巧】制作国庆头像的4种方式

324 阅读2分钟

小程序|公众号

微信首页【下拉】 -> 【搜索】-> “输入国庆头像生成”,可以检索到很多提供国庆头像生成的小程序和公众号服务,直接上传头像生成。

image.png

剪映


下载手机版剪映

image.png

第一步点击【开始创作】导入头像素材,底部工具找到【调整大小

image.png

调整图像比例为【1:1】,调整好尺寸,点击轨道或图片选择底部的【画中画】创建一个遮罩层

image.png

新增画中画】选择国旗图片并调整尺寸,调整好尺寸工具栏选择【混合模式】,并调整适合的透明度

image.png

底部工具选择【蒙版】选择【线性】,然后调整线性蒙版的角度和渐变

图片

程序员方式(使用三方库)

使用 python 三方库 poimage

// python3
pip3 install -i https://mirrors.aliyun.com/pypi/simple/ poimage -U

代码:

// index.py
import poimage

if __name__ == '__main__':
    poimage.flag2profile(
        profile_path="./WechatIMG58.jpg",
        output_path="./output.jpg"
    )

使用 PyCharm 点击运行 或者 在终端执行 python3 index.py

图片

本人运行时出现了上面错误,这里贴上错误修复方法:

 pip3 uninstall urllib3   
 pip3 install urllib3==1.26.15

预览效果:‍‍‍

图片

程序员方式(手动调整)‍‍‍‍

手动添加渐变遮罩

from PIL import Image, ImageDraw
import numpy as np

def create_flag_avatar(flag_path, photo_path, output_path, star_size=66, gradient_factor=2.5):
    try:
        # 打开图片
        flag_img = Image.open(flag_path).convert("RGBA")
        photo_img = Image.open(photo_path).convert("RGBA")

        # 国旗图片的宽和高
        flag_width, flag_height = flag_img.size

        # 截出左上角五角星
        crop_flag = flag_img.crop((star_size, 0, flag_height, flag_height))

        # 创建渐变遮罩
        mask = Image.new('L', crop_flag.size)
        draw = ImageDraw.Draw(mask)
        for i in range(flag_height):
            for j in range(flag_height):
                distance = int(np.sqrt(i * i + j * j))
                alpha = max(255 - int(distance // gradient_factor), 0)
                draw.point((i, j), fill=alpha)

        # 应用渐变遮罩
        crop_flag.putalpha(mask)

        # 重置图像尺寸并粘贴
        new_crop_flag = crop_flag.resize(photo_img.size)
        photo_img.paste(new_crop_flag, (0, 0), new_crop_flag)

        # 保存自己的国旗头像
        photo_img.save(output_path)
    except Exception as e:
        print(f"处理图片时发生错误: {str(e)}")

# 使用示例
if __name__ == '__main__':
    create_flag_avatar('./WechatIMG57.jpg',
                       './WechatIMG58.jpg',
                       './半透明国旗头像2.png')

预览效果:

图片

参考

zhuanlan.zhihu.com/p/722211451

blog.csdn.net/gxhuhuhu/ar…

本文同步自微信公众号 "程序员小溪" ,这里只是同步,想看及时消息请移步我的公众号,不定时更新我的学习经验。