今天女朋友看了电视剧《点燃我温暖你》,看到剧里的人用代码画爱心,看样子是用前端做的特效,咱由于是做后端的,前端不熟悉,临时学了python做出了这个。
一、turtle库
turtle库是python中一个流行的绘制图像函数库,中文名翻译过来就是海龟,从原点(0,0)开始执行函数在画布上爬行,根据爬行轨迹绘制成图像。
二、主要用到的函数
| 命令 | 说明 |
|---|---|
| t.pensize | 设置画笔痕迹的粗细 |
| t.color(color1, color2) | 设置颜色,同时设置pencolor=color1, fillcolor=color2,颜色一样可以简写 |
| t.penup() | 将画笔从画布提起,不绘制图形 |
| t.pendown() | 将画笔放到画布上,开始绘制图形 |
| t.begin_fill() | 开始填充图形 |
| t.left(degree) | 逆时针移动degree° |
| t.right(degree) | 顺时针移动degree° |
| t.forward(distance) | 向当前画笔方向移动distance像素长度 |
| t.circle(radius, extent=None) | 根据半径radius绘制角度extend的圆弧 |
| t.goto(x, y) | 将画笔移动到坐标为x,y的位置 |
| t.hideturtle() | 隐藏画笔的小箭头 |
| t.done() | 完成绘画,最后调用的函数 |
三、分析爱心的组成

由此可见,爱心是由两个半圆和一个正方形组成。
四、代码实现
- 初始化画笔
import turtle as t
t.pensize(5)
t.color("pink")
- 爱心
t.begin_fill()
t.left(135)
t.forward(200)
t.circle(-100, 180)
t.left(90)
t.circle(-100, 180)
t.forward(200)
t.end_fill()
- L
t.penup()
t.goto(-175, -100)
t.left(45)
t.pendown()
t.forward(100)
t.left(90)
t.forward(50)
- O
t.penup()
t.goto(-75, -125)
t.left(90)
t.pendown()
t.circle(-25, 180)
t.forward(50)
t.circle(-25, 180)
t.forward(50)
- V
t.penup()
t.goto(25, -100)
t.right(165)
t.pendown()
t.forward(103)
t.left(150)
t.forward(103)
- E
t.penup()
t.goto(125, -100)
t.right(75)
t.pendown()
t.forward(50)
t.penup()
t.goto(125, -100)
t.right(90)
t.pendown()
t.forward(100)
t.left(90)
t.forward(50)
t.penup()
t.goto(125, -150)
t.pendown()
t.forward(50)
- 结束绘制
t.hideturtle()
t.done()
五、成品

Ps:第一次使用python画图,代码看起来不是很优雅,行数有点多,仅此记录~
评论区