今天是国庆节也是中秋节,首先祝大家节日快乐,本文我们使用 Python 来给自己的头像加一个小国旗或小月饼。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:961562169

国旗

对于国旗,我们可以使用 Python 来画一个,用到的 Python 库是大家比较熟悉的 turtle,我们的五星红旗组成元素包括:红底、一颗黄的主星和四颗黄的副星。

首先画一个长方形的红底,代码实现如下:

turtle.setup(600, 400, 0, 0)
turtle.bgcolor("red")

效果如下:

接着画一颗主星,代码实现如下:

turtle.fillcolor("yellow")
turtle.color('yellow')
turtle.speed(10)
# 主星
turtle.begin_fill()
turtle.up()
turtle.goto(-280,100)
turtle.down()
for i in range (5):turtle.forward(150)turtle.right(144)
turtle.end_fill()

效果如下:

最后画四颗副星,代码实现如下:

# 副星1
turtle.begin_fill()
turtle.up()
turtle.goto(-100,180)
turtle.setheading(305)
turtle.down()
for i in range (5):turtle.forward(50)turtle.left(144)
turtle.end_fill()
# 副星2
turtle.begin_fill()
turtle.up()
turtle.goto(-50,110)
turtle.setheading(30)
turtle.down()
for i in range (5):turtle.forward(50)turtle.right(144)
turtle.end_fill()
# 副星3
turtle.begin_fill()
turtle.up()
turtle.goto(-40,50)
turtle.setheading(5)
turtle.down()
for i in range (5):turtle.forward(50)turtle.right(144)
turtle.end_fill()
# 副星4
turtle.begin_fill()
turtle.up()
turtle.goto(-100,10)
turtle.setheading(300)
turtle.down()
for i in range (5):turtle.forward(50)turtle.left(144)
turtle.end_fill()

最终效果如下:

月饼

对于月饼也可以用 Python 来画一个,月饼组成元素主要包括:外层圆形的花纹轮廓、内层轮廓和文字。

首先来画外层圆形的花纹轮廓,代码实现如下:

turtle.speed(100)
turtle.color("#F5E16F")
for i in range(20):# 顺时针移动18度turtle.right(18)turtle.begin_fill()# 向前移动的距离turtle.forward(220)# 画半径为 40 的半圆turtle.circle(40, 180)# 画完半圆之后回到(0,0)turtle.goto(0, 0)turtle.right(360)turtle.end_fill()

效果如下:

再接着画内层轮廓,代码实现如下:

# 设置画笔粗细
turtle.pensize(20)
# 填充颜色(外部、内部)
turtle.color("#F5E16F", "#FF9933")
goto(0, -200)
# 准备开始填充
turtle.begin_fill()
turtle.circle(200)
# 填充结束
turtle.end_fill()
turtle.right(360)
turtle.color('#F5E16F')
goto(0, -180)
for i in range(12):turtle.begin_fill()turtle.circle(60, 120)turtle.left(180)turtle.circle(60, 120)turtle.end_fill()

效果如下:

最后来添加文字,比如豆沙馅的就添加豆沙两个字,代码实现如下:

turtle.color("#F5E16F")
turtle.write("豆沙", font=("隶书", 60, "bold"))

最终效果如下:

头像加国旗(月饼)

最后,我们将刚才画好的国旗或月饼加到自己的头像上,用到的 Python 库是 OpenCV,安装使用 pip install opencv-python 命令即可,如果速度太慢,可以使用 pip install -i https://mirrors.aliyun.com/pypi/simple/ opencv-python 加速下载安装。

这个功能实现起来也比较简单,只需十几行 Python 代码就可以搞定,代码实现如下:

# 读取头像和国旗图案
img_head = cv2.imread('head.jpg')
img_flag = cv2.imread('flag.png')
# 获取头像和国旗图案宽度
w_head, h_head = img_head.shape[:2]
w_flag, h_flag = img_flag.shape[:2]
# 计算图案缩放比例
scale = w_head / w_flag / 4
# 缩放图案
img_flag = cv2.resize(img_flag, (0, 0), fx=scale, fy=scale)
# 获取缩放后新宽度
w_flag, h_flag = img_flag.shape[:2]
# 按 3 个通道合并图片
for c in range(0, 3):img_head[w_head - w_flag:, h_head - h_flag:, c] = img_flag[:, :, c]
# 保存最终结果
cv2.imwrite('new_head.jpg', img_head)

假如我的原头像如下:

给头像加个小国旗,效果如下:

给头像加个小月饼,效果如下:

用 Python 给自己的头像加一个小国旗或者小月饼相关推荐

  1. qt给qdialog加一个滚动条_这些小程序技巧,你敢说你一个用不到?

    都是小技巧,废话不多说,上代码! 改变小程序原生组件大小 微信官方提供了一些基本组件,但是有的组件没有提供类似size的属性,我们只需要一个css就可以解决,以radio为例: 小程序picker组件 ...

  2. 【Python 实战基础】如何实现一个英汉翻译小字典

    目录 一.实战场景 二.主要知识点 三.菜鸟实战 1.创建 python 文件 2.文件目录 3.运行结果 一.实战场景 英汉字典:输入英文,返回对应中文. 二.主要知识点 文件读写 基础语法 异常处 ...

  3. Python:教你如何写一个测量网速的小工具

    hello,大家好,我是wangzirui32,今天我们来学习如何写一个测量网速的小工具,开始学习吧! 1. pip安装 这个项目主要依赖speedtest_cli模块,pip安装: pip inst ...

  4. 每天一个知识点:Python列表两个冒号加一个负数的表达方法

    Python列表最常用的几种方法 [start:end],例: a = [1, 3, 4, 5] print(a[:]) # 输出[1, 3, 4, 5] b = [1, 3, 4, 5, 6] pr ...

  5. python图像处理实践——给头像加数字

    '''将你的 QQ 头像(或者微博头像)右上角加上红色的数字,类似于微信未读信息数量那种提示效果''' print(__doc__)from PIL import Image, ImageDraw, ...

  6. python垃圾分类图像识别算法_Python 实现一个简单的垃圾分类小游戏(已获校级二等奖)...

    作者:Vincentish https://blog.csdn.net/Vincentish/article/details/107495432 项目简介 本项目报名参加了"兖州中材杯&qu ...

  7. [python运维] 使用python3制作一个mysql压测小工具!

    ​​0x01 argparse模块​​ ​ argparse是Python 标准库中推荐的命令行解析模块,他可以实现给出参数提示和接收用户输入的参数,类似linux的命令行功能:​ [root@yun ...

  8. 使用python中的tkinter模块制作一个学习打卡小软件

    学习任务打卡小软件---戈多Sensei 1.制定任务 2.完成任务 3.学习评估 最近为了给我的星星⭐写一个学习记录软件,学习了一下python中的tkinter模块,做了一个可视化打卡界面,此处为 ...

  9. python饮料购买_Python写的一个自动售饮料小程序!

    写这个程序的时候,我已学习Python将近有一百个小时,在CSDN上看到有人求助使用Python如何写一个自动售饮料的程序,我一想,试试写一个实用的售货程序.当然,只是实现基本功能,欢迎高手指点,新手 ...

  10. python简单图画程序_制作一个简单的画图小程序界面

    1 新建一个文本文档,然后点击重命名,建立一个python文件.后缀为.py.如图所示,系统会提示是否更改后缀,点击是.然后就创建了一个python文件. 2 打开刚才创建的文件,使用idle打开方式 ...

最新文章

  1. 记录一次frp失效bug
  2. python中立方_Python编程从入门到实践 第四章练习题
  3. qt windows 静态编译_VS+QT工程配置问题
  4. php指针注意问题,c语言指针注意问题
  5. 共享童车,怎么还没火就凉了
  6. 神了!用命令行管理你的 GitHub 项目,不必再开网页!
  7. CentOS 安装jdk1.7 64位
  8. java vector_Java Vector size()方法与示例
  9. 算法入门篇 一 时间复杂度
  10. 从语义开始 – 概念、意义、实践
  11. 关于windows server 2016 更新CVE-2020-1472漏洞补丁的问题
  12. java默认权限什么时候使用_Java 应用程序默认权限(简例)
  13. mysql为什么limit没用,MySQL是否可以使用LIMIT语法进行子查询?如果没有,为什么?...
  14. 通过对比文件md5值,实现对文件的替换
  15. 分享一个原始传奇的辅助脚本
  16. 死机后硬关机造成oracle故障,电脑死机故障汇总:各种死机现象分析
  17. 沪深股市股票交易规则
  18. 冲突声明(conflicting declaration)解决
  19. 磁盘碎片对计算机系统的影响,磁盘碎片整理第9遍了|Win7磁盘碎片整理的方法
  20. BootStrap 4种图片形式 image形式 img-rounded img-circle img-thumbnail img-responsive

热门文章

  1. Android系统 固定住CPU频率
  2. 高速公路车路协同创新示范情况全扫描(2021版)
  3. 优动漫PAINT新建文件
  4. linux虚拟机怎么恢复出厂设置_恢复出厂设置,真的能让旧手机变快吗?【两分回顾】...
  5. python精确有理数实验_有理数类实验报告
  6. java截取图片截图画框
  7. HTML入门(学习方法+概述)
  8. python读取图片分辨率_Python 程序查找图像的大小(分辨率)
  9. Java调用百度翻译openapi实现简单翻译功能
  10. ajax日期格式,ajax读取的日期的格式转换