当前位置: 首页 > 后端技术 > Python

用Python给头像添加小国旗(小月饼)

时间:2023-03-26 19:04:46 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()foriinrange(5):turtle.forward(150)turtle.right(144)turtle.end_fill()效果如下:在末尾绘制四颗副星,代码如下:#secondarystar1turtle.begin_fill()turtle.up()turtle.goto(-100,180)turtle.setheading(305)turtle.down()foriinrange(5):turtle.forward(50)turtle.left(144)turtle.end_fill()#Substar2turtle.begin_fill()turtle.up()turtle.goto(-50,110)turtle.setheading(30)turtle.down()foriinrange(5):turtle.forward(50)turtle.right(144))turtle.end_fill()#Substar3turtle.begin_fill()turtle.up()turtle.goto(-40,50)turtle.setheading(5)turtle.down()foriinrange(5):turtle.forward(5个0)turtle.right(144)turtle.end_fill()#Substar4turtle.begin_fill()turtle.up()turtle.goto(-100,10)turtle.setheading(300)turtle.down()foriinrange(5):turtle.forward(50)你rtle.left(144)turtle.end_fill()最终效果如下:月饼也可以用Python画。月饼的主要元素包括:外圆形图案轮廓、内轮廓和文字首先,画出外部圆形图案的轮廓。代码实现如下:turtle.speed(100)turtle.color("#F5E16F")foriinrange(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)#填充颜色(外面,inside)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)foriinrange(12):turtle.begin_fill()turtle.circle(60,120)turtle.left(180)乌龟。circle(60,120)turtle.end_fill()的效果如下:在末尾添加文字,例如添加豆沙馅字beanpaste,以及代码实现如下:turtle.color("#F5E16F")turtle.write("豆沙",font=("隶书",60,"粗体"))最终效果如下:头像加国旗(月饼)最后,我们把刚才画的国旗或者月饼加到头像上。使用的Python库是OpenCV,安装使用pipinstallopencv-python命令即可,如果速度太慢可以使用pipinstall-ihttps://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]#合并imagesby3channelsforcinrange(0,3):img_head[w_head-w_flag:,h_head-h_flag:,c]=img_flag[:,:,c]#保存最终结果cv2.imwrite('new_head.jpg',img_head)如果我原来的头像是这样的:给头像加一个小国旗,效果如下:给头像加一个小月饼,效果如下:源码可以通过回复获取到201001在后台公众号Python小二。欢迎微信搜索Python小二,第一时间阅读获取源码,回复关键字1024免费领取个人整理的各种编程语言学习资料。