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

刚刚出炉的冬奥会吉祥物:冰墩墩,附源码,,

时间:2023-03-26 00:23:07 Python

在抖音看到有人画的冰墩墩,想自己做一个。当然,图案的绘制还是要用大家熟悉的turtle框架。原因很简单,它是一个基于canvas的UI框架。文末附上完整源码,可直接运行。阅读全文首先,安装turtle库。pipinstallturtle将turtle导入我们的模块并使用它。importturtleastle设置画笔的全局属性,首先设置画笔的基本速度和UI界面的标题tle.speed(50)#setthespeedto100tle.title('冬奥会:冰墩墩!公众号:[Python集中营]')#设置UI界面的标题tle.bgcolor('white')#设置背景色为白色,有冬天的感觉...tle.pencolor("deepskyblue")tle.fillcolor("deepskyblue")设置完画笔的全局属性后,接下来就是绘制图形了。这个想法是用画笔在画布上画画。在开始画图之前,先解释一下几个主要函数的使用方法。代码量比较大,但是用到的函数基本就以下几个。turtle.goto(x,y)将画笔移动到坐标为x,y的位置。turtle.penup()提笔移动而不绘制图形。它用于绘制另一个地方。turtle.circle()画一个半径为正(Negative)的圆,表示圆心画在画笔的左(右)侧setheading(angle)设置当前方向为angleangleturtle.pendown()移动时绘制图形,默认也会绘制turtle.begin_fill()开始填充图形turtle.end_fill()完成填充turtle.left(degree)逆时针方向移动degree°turtle.forward(distance)移动distance像素长度向当前画笔方向画冰墩墩的两只耳朵,注意把握好画布上的坐标,尽量把冰墩规划在画布的正中央。#冰墩左耳tle.penup()tle.goto(-120,200)tle.setheading(160)tle.begin_fill()tle.pendown()tle.circle(-30,230)tle.setheading(180)tle.circle(37,90)tle.end_fill()#冰墩右耳tle.penup()tle.goto(90,200)tle.setheading(20)tle.begin_fill()tle.pendown()tle.circle(30,230)tle.setheading(0)tle.circle(-37,90)tle.end_fill()画冰墩的头部,头部主要由圆弧构成。#tle.pensize(5)tle.penup()tle.goto(-83,237)tle.setheading(30)tle.pendown()tle.circle(-134,60)tle.penup()tle.goto(-120,200)tle.setheading(-120)tle.pendown()tle.circle(200,80)tle.penup()tle.goto(90,200)tle.setheading(-60)tle.pendown()tle.circle(-200,80)tle.penup()tle.setheading(210)tle.pendown()tle.circle(-120,60)画冰墩墩的眼睛,眼睛主要由眼窝、眼眶、和眼球。#冰雪雪左眼tle.penup()tle.goto(-110,100)tle.setheading(-45)tle.begin_fill()tle.pendown()agle=0.2foriinrange(120):if0<=i<30或60<=i<90:agle=agle+0.1tle.left(3)tle.forward(agle)否则:agle=agle-0.1tle.left(3)tle.forward(agle)tle.end_fill()tle.fillcolor("white")tle.penup()tle.goto(-73,125)tle.setheading(0)tle.begin_fill()tle.pendown()tle.circle(14,360)tle.end_fill()tle.penup()tle.goto(-72,133)tle.setheading(0)tle.begin_fill()tle.pendown()tle.circle(6,360)tle.end_fill()#冰雪右眼tle.penup()tle.goto(80,100)tle.setheading(45)tle.begin_fill()tle.fillcolor("deepskyblue")tle.pendown()agle=0.2foriinrange(120):if0<=i<30or60<=i<90:agle=agle+0.1tle.left(3)tle.forward(agle)else:agle=agle-0.1tle.left(3)tle.forward(agle)tle.end_fill()tle.fillcolor("白色")tle.penup()tle.goto(43,125)tle.setheading(0)tle.begin_fill()tle.pendown()tle.circle(14,360)tle.end_fill()tle.penup()tle.goto(42,133)tle.setheading(0)tle.begin_fill()tle.pendown()tle.circle(6,360)tle.end_fill()公众号回复“冰墩墩”得到完整源代码。我是【蟒蛇集中营】。我很高兴你看到了结局。我是专注于Python知识分享的公众号,希望得到大家的关注~【往事精彩】最美表格视图插件:tabulate抖音同款课堂点名系统,PyQt5很简单上手写...开始工作!给PDF文件批量添加中文水印……大年初二,做了一个windows通知管理器!百度图片下载器2.0