用 Python 给自己的头像加一个小国旗(小月饼)
2021/6/28 12:20:30
本文主要是介绍用 Python 给自己的头像加一个小国旗(小月饼),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
今天是国庆节也是中秋节,首先祝大家节日快乐,本文我们使用 Python 来给自己的头像加一个小国旗或小月饼。
国旗
对于国旗,我们可以使用 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)
假如我的原头像如下:
给头像加个小国旗,效果如下:
给头像加个小月饼,效果如下:
< END >
这篇关于用 Python 给自己的头像加一个小国旗(小月饼)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25Python编程基础:变量与类型
- 2024-11-25Python编程基础与实践
- 2024-11-24Python编程基础详解
- 2024-11-21Python编程基础教程
- 2024-11-20Python编程基础与实践
- 2024-11-20Python编程基础与高级应用
- 2024-11-19Python 基础编程教程
- 2024-11-19Python基础入门教程
- 2024-11-17在FastAPI项目中添加一个生产级别的数据库——本地环境搭建指南
- 2024-11-16`PyMuPDF4LLM`:提取PDF数据的神器