国庆节的时候,很多地方都会升挂国旗,庆祝祖国一年一度的节日。给自己制作国旗头像,是一件很有意义的事。微信官方就曾经举办过活动。

制作国旗头像的方法有很多,本文给大家介绍用Python制作渐变的微信国旗头像。

效果展示

渐变的国旗头像效果非常好看。

制作方式也很简单,下面介绍实现方法,可以复制本文的代码,制作属于自己的国旗头像。

1.准备国旗图片

标准国旗图片可以到官网《中华人民共和国中央人民政府》网站下载。

声明:严禁非法使用国旗图片。在国旗图片下载页面下方有《国旗法》等相关规定。

下载完成解压后会得到三张国旗图片。分别是1024、2048和4096三种像素的图片。

本文使用1024像素的图片。(用哪张都可以)

2.准备头像图片


登录自己的微信,打开个人信息,点击头像,点击右上角的三个点,将图片保存到手机,然后将图片传到电脑上。

为了不失一般性,本文使用的图片是我从网络上获取的一张600*600像素的头像图片。

准备好后,将国旗图片和头像图片拷贝到代码同一个目录下。

代码实现

先安装Python中用于处理图片的pillow库。

pip install pillow

安装完成后,使用pillow库来制作国旗头像。

只需要十几行代码就能实现。完整代码如下。

# coding=utf-8
from PIL import Image
import mathkey = 3.2  # 修改key值可以调整国旗的范围,推荐2~4之间的数字,支持小数
motherland_flag = Image.open('国旗1024.png')
head_picture = Image.open('头像600.png')
# 截图国旗上的五颗五角星
flag_width, flag_height = motherland_flag.size
crop_flag = motherland_flag.crop((66, 0, flag_height+66, flag_height))
# 将国旗截图处理成颜色渐变
for i in range(flag_height):for j in range(flag_height):color = crop_flag.getpixel((i, j))distance = int(math.sqrt(i*i + j*j))alpha = 255 - int(distance//key)new_color = (*color[0:-1], alpha if alpha > 0 else 0)crop_flag.putpixel((i, j), new_color)
# 修改渐变图片的尺寸,适应头像大小,粘贴到头像上
new_crop_flag = crop_flag.resize(head_picture.size)
head_picture.paste(new_crop_flag, (0, 0), new_crop_flag)
# 保存自己的国旗头像
head_picture.save('国旗头像.png')

代码介绍:

  • 导入需要使用的Python库,pillow库用于对图片进行截取、大小修改、粘贴等处理。math库用于计算像素点的距离。

  • 使用Image.open()方法,读取准备好的国旗图片和头像图片到代码中。

  • 对国旗图片进行截取,获取一张正方形的图片,截取时调整截取位置,保证5颗五角星完整展示在截图中。crop()方法中传入的是一个(left, upper, right, lower)的元组,分别是截图的左、上、右、下像素位置。

  • 将正方形国旗截图设置成透明度渐变的图片。国旗图片的模式默认是RGBA,本文需要的刚好是RGBA(red,green,blue,alpha)模式的图片,RGBA模式的图片颜色值是一个长度为4的元组,我们修改不同像素点的A值即可将图片设置成渐变。

    本文是以国旗左上角为圆心,离圆心越远的像素点A值越小,像素点越透明。使用getpixel()和putpixel()两个方法来获取和重设像素点的颜色值,使用math.sqrt()计算像素点距离。

  • 将渐变图片的大小转换成和头像的大小一样,然后粘贴到图片顶层。使用resize()方法重设图片大小,使用paste()方法粘贴图片。

  • 保存图片,此时的微信头像图片上已经粘贴了透明渐变的国旗图片,微信国旗头像制作完成。

总结

本文介绍了用Python制作微信国旗头像的方法。在本文的代码中,以左上角为圆心,离圆心越远越透明,可以修改key值,调整国旗透明变化的范围。

如果需要制作其他渐变类型,如以右上角为圆心逐渐透明、从左侧向右侧逐渐透明、从上到下逐渐透明等,可以修改国旗渐变部分的代码、翻转图片等。

以上就是本文的全部内容,如果你学会了怎么用Python制作微信国旗头像,欢迎点赞、在看和分享。也可以联系我交流讨论。

国庆节快到了,用 Python 给自己制作国旗头像,其实很简单。相关推荐

  1. Python爬取网站上面的数据很简单,但是如何爬取APP上面的数据呢

    前言 在我们在爬取手机APP上面的数据的时候,都会借助Fidder来爬取.今天就教大家如何爬取手机APP上面的数据. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过 ...

  2. python画相关性可视化图_Python可视化很简单,一文教你绘制饼图、极线图和气泡图...

    matplotlib库作为Python数据化可视化的最经典和最常用库,掌握了它就相当于学会了Python的数据化可视化,上次呢,已经和大家聊了关于柱状图.条形图和直方图相关的东东,相信大家已经掌握了哈 ...

  3. 表格合并行_Word制作验收单表格,很简单,快来学习吧

    作者:图文设计师东东 办公软件Word制作一款简单的验收单表格,方法很简单,大家一起来学习吧! 第一步.新建.插入表格 打开Word新建--空白文档,输入标题"验收单".如下图. ...

  4. 国庆热门专辑------用python制作国庆头像

    国庆节的时候,很多地方都会升挂国旗,庆祝祖国一年一度的节日给自己制作国旗头像,是一件很有意义的事.微信官方就曾经举办过活动.制作国旗头像的方法有很多,本文给大家介绍用Python制作渐变的微信国旗头像 ...

  5. python网络爬虫程序_Python写的网络爬虫程序(很简单)

    Python写的网络爬虫程序(很简单) 这是我的一位同学传给我的一个小的网页爬虫程序,觉得挺有意思的,和大家分享一下.不过有一点需要注意,要用python2.3,如果用python3.4会有些问题出现 ...

  6. python比javascript快多少_为什么Python比C++慢很多?

    话说为什么大家会集中讨论GIL?在这里题主的标准线是一个按bit处理的单线程DFS啊--几乎没有GIL发挥的余地好么-- 这个八皇后的DFS,我的C++代码在不加某些评估性剪枝的情况下对15需要算18 ...

  7. 若快打码平台python开发文档修改版

    一.打码的作用 在进行爬虫过程中,部分网站的登录验证码是比较简单的,例如四个英文数字随机组合而成的验证码,有的是全数字随机组成的验证码,有的是全中文随机组成的验证码.为了爬虫进行自动化,需要解决自动登 ...

  8. python圣诞节_快到圣诞节了,用python来给自己的头像加上一顶圣诞帽

    随着圣诞的到来,来给自己的头像加上一顶圣诞帽.当然这种事情用很多P图软件都可以做到.但是作为一个学习图像处理的技术人,还是觉得我们有必要写一个程序来做这件事情.而且这完全可以作为一个练手的小项目,工作 ...

  9. python怎么学最快-怎么快速自学python

    本文跟大家谈谈为什么要学python以及如何学好python. 一.作为初学者,应该如何学python? 很多人对python缩进试的简洁表达不以为然.那些都是已混迹于C和JAVA的老鸟已经习惯了花括 ...

  10. 各大新生的军训马上快结束了!Python告诉你军训前后你黑了几度!

    一年一度的大学开学季,一年一度的军训季. 在六月中旬高考结束之后,万千学子迎来了他们人生中最长也是最无忧无虑的假期,到了八月底九月初,他们将踏上人生的一段重要旅程--大学. 然而等待他们的第一课,便是 ...

最新文章

  1. mahout in Action研读(1)-给用户推荐图书
  2. 分治策略之最大子数组问题
  3. python oracle连接池_【Python + Oracle】Python Oracle连接池—改进版
  4. 多线程和单线程 打印数字到100000 的速度对比
  5. 【Keras】30 秒上手 Keras+实例对mnist手写数字进行识别准确率达99%以上
  6. 何兆武:西南联大的数学家
  7. 解决Fiddler查看Post参数中文乱码的问题
  8. 为什么开发人员要使用Linux
  9. 力扣24,两两交换链表中的节点(javascript)
  10. 老李推荐:第14章8节《MonkeyRunner源码剖析》 HierarchyViewer实现原理-获取控件列表并建立控件树 1...
  11. Cocos2d Box2D之浮动刚体
  12. oracle 回收站
  13. 【ICLR2020】看未知观测:一种简单的蒙特卡洛并行化方法
  14. word表头宽行重复
  15. nginx配置在线播放mp4格式视频
  16. Kubernetes安装Ratel
  17. ath9K 驱动注册过程
  18. 【SpringCloud】设置接口同时支持返回多种数据类型(json、xml)
  19. qcom sdm660 led 分析
  20. 推导光的多普勒效应公式·比航专ppt更符合直觉

热门文章

  1. 计算机组成原理笔记——DMA方式
  2. SSD-tensorflow-1 demo
  3. 计算机制作贺卡教案,教案与学生成果:制作电子贺卡
  4. 2018个人年度工作总结与2019工作计划(互联网)
  5. android 恢复出厂设置流程分析,Android恢复出厂设置流程分析
  6. linux Permission 0644 for are too open 错误解决方案
  7. python二级考试大纲小学生_Python语言二级考试大纲
  8. 进阶的阿牛哥之pandas透视表pivot_table的使用
  9. 接入支付宝网页支付的个人记录
  10. App创业者分享:如何攒到你的1亿用户?(前期土豪推广,后期节操全碎)