给我一面国旗 python帮你实现

yipeiwu_com6年前Python基础

本文实例为大家分享了Python之给我一面国旗的具体代码,供大家参考,具体内容如下

1、“给我一面国旗@微信官方”

今天“给我一面国旗@微信官方”刷爆了朋友圈,我也蹭波热度,出个Pythoon教程,原创作品感谢支持。

2、安装PIL模块

python2安装PIL模块
Python安装Pillow模块`pip3 install Pillow

3、准备一张背景图

注意中间要镂空,保存成GIF格式
下图是我自己PS的

4、解决思路

朋友圈下载有国旗的好友头像
查看属性分辨率:1080*1080
背景图就是用下面这张图抠出来的

下载自己的头像
查看分辨率:959*959

镂空的背景图放在需要生成的头像上就达到了预期效果
因为生成后的国旗图像分辨率:1080*1080
原始头像分辩率为:959*959,合成前需要先将原始头像尺寸调整为1080*1080
以上全部操作代码只有九行

5、全部代码

from PIL import Image

img_bg = Image.open("./lib/bag.gif")
img = Image.open("给我一面国旗.jpg")
#img_bg.convert("L")
#将图片转换成RGBA模式
img_bg = img_bg.convert("RGBA")
#将头像的图片大小改为1080*1080
img = img.resize((1080, 1080))
#获取RGBA四个通道
r, g, b, a = img_bg.split()
#将背景图盖在头像的图片上
img.paste(img_bg, (0, 0), mask=a)
#保存图片
img.save("拿好你的国旗.jpg")

6、文件目录如下

背景图命名为“bag”.gif,放在lib目录下
自已的头像命名为“给我一面国旗.jpg”,放在工程根目录下
运行后会生成带国旗的头像“拿好你的国旗.jpg”

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python使用matplotlib绘制三维图形示例

Python使用matplotlib绘制三维图形示例

本文实例讲述了Python使用matplotlib绘制三维图形。分享给大家供大家参考,具体如下: 用二维泡泡图表示三维数据 泡泡的坐标2维,泡泡的大小三维,使用到的函数 plt.sc...

Python中解析JSON并同时进行自定义编码处理实例

在对文件内容或字符串进行JSON反序列化(deserialize)时,由于原始内容编码问题,可能需要对反序列化后的内容进行编码处理(如将unicode对象转换为str)。 在Python...

Python去除、替换字符串空格的处理方法

个人想到的解决方法有两种,一种是  .replace(' old ',' new ')   第一个参数是需要换掉的内容比如空格,第二个是替换成的内容,可以把...

python实现求解列表中元素的排列和组合问题

 求解列表中元素的排列和组合问题这个问题之前就遇到过几次没有太留意,最近在做题的时候遇上挺多的排列组合问题的,想来有必要温习一下了,今天花点时间写一下,之前都是手工写的,后来知...

python实现生成字符串大小写字母和数字的各种组合

1 输出大写字母、小写字母、大小写字母、数字、大小写字母和数字 1.1输出小写:找到小写a(97)到z(122)的的ASCII码,然后转义为字母 lower = "" for i i...