哈喽,大家中秋国庆快乐,8天超级长假你们都是怎么安排的?有没有假期还在卷python的。
今天教大家用几行代码快速实现一个国庆风头像,效果是这样的
素材:一张头像、一张国旗图片
思路:将国旗图片的每个像素点的透明度从左至右,从上到下逐次递减后,将其盖在头像上面就形成了最终的效果图。
完整代码:
from PIL import Image
# 加载图片
flag = Image.open('国旗1024.png')
avatar = Image.open('avatar.jpg')
# 将过期尺寸调整为头像大小
flag.resize(avatar.size)
# 遍历国旗头像的每个像素点,修改透明度
for i in range(flag.size[0]):
for j in range(flag.size[1]):
r, g, b, _ = flag.getpixel((i, j))
# 透明度值
alpha = max(0, 255 - i // 5 - j // 7)
# 重新填充像素
flag.putpixel((i, j), (r, g, b, alpha))
# 将新国旗头像粘贴到头像上面
avatar.paste(flag, (0, 0), flag)
# 保存为新图
avatar.save('flag_avatar.png')
这里我用到了图像处理的PIL库,如果你对这个库不熟悉,可以查一下PIL 官方文档,了解下常用的操作,对于图像处理PIL非常强大。
需要注意的是,国旗图片的尺寸不能比头像尺寸小,这里我用的是一张1024*683图片,头像尺寸是640*640
用国旗做头像违法吗?这个早有媒体报道过,制作国旗头像不仅不违法,而且鼓励,因为这是一种爱国的表现,所以放心大胆的使用吧,学习娱乐两不误。
最后祝大家假期玩得开心!