运行环境 : python 3.6.0
每逢佳节倍思亲 , 以前也有学习turtle库 , 今天呢 , 在这中秋佳节月圆夜 , 来画个月饼 ......
吃着手里的 , 看着屏幕上的 ...
turtle 库 常用的一些参数做一下说明 :
参数 | 说明 |
---|---|
turtle.setup(width,height,startx,starty) | 起始点坐标:左上角相对于屏幕的坐标,默认在屏幕中央 |
turtle.begin_fill() | 准备开始填充图形 |
turtle.end_fill() | 填充完成 |
turtle.goto(x,y) | 将海龟走到该坐标位置 绝对坐标 |
turtle.bk(d) | 海龟后退 海龟坐标 |
turtle.fd(d) | 海龟前进 |
turtle.circle(r,angle) | 海龟左侧某一点为圆心曲线运行 |
turtle.seth(angle) | 海龟转向,绝对坐标 |
turtle.left(angle) | 左转 |
turtle.right(angle) | 右转 |
penup() | 抬起画笔 |
pendown() | 落下画笔 |
pencolor() | 笔的颜色 |
pensize() | 笔的大小 |
turtle.colormode(mode) | 改变RGB模式,mode=1.0小数值,mode=255整数值 RGB颜色,如white的RGB整数值为:255.255.255,修改数值可以改变颜色 |
turtle.done() | 画完之后不关闭窗口 |
核心代码 :
import turtle
class MidAutumnFestival(object):
def __init__(self):
self.turtle = turtle.Pen()
self.turtle.speed(10)
def __del__(self):
turtle.done() # 用来结束时保留画面的消失
self.turtle.down()
def goto(self, x, y):
self.turtle.penup()
self.turtle.goto(x, y)
self.turtle.pendown()
def circular(self):
self.turtle.color("#D1C185", "#839F26")
self.goto(0, -200)
self.turtle.begin_fill()
self.turtle.circle(200)
self.turtle.end_fill()
def color_edge(self):
self.goto(0, 0)
self.turtle.color("#FFA100")
for _ in range(20):
self.turtle.right(18)
self.turtle.begin_fill()
self.turtle.forward(220)
self.turtle.circle(40, 180)
self.turtle.goto(0, 0)
self.turtle.right(180)
self.turtle.end_fill()
def in_chart(self):
self.turtle.color('#D1C185')
self.goto(0, -25)
for _ in range(12):
self.turtle.begin_fill()
self.turtle.circle(150, 60)
self.turtle.left(90)
self.turtle.circle(150, 60)
self.turtle.end_fill()
def wirte_words(self, words):
self.goto(-40, 10)
self.turtle.color("red")
self.turtle.write(words, font=("Time", 23, "bold"))
self.turtle.pendown()
def run(self):
self.color_edge()
self.circular()
self.in_chart()
self.wirte_words("中秋快乐")
if __name__ == '__main__':
maf = MidAutumnFestival()
maf.run()