python3学习笔记.4.turtle绘图
先放上参考
https://docs.python.org/3/library/turtle.html
//*******************************************************************************
1.画布(canvas)
使用 turtle.setup() | turtle.screensize()
可以设置画布大小、背景颜色以及标题等。
2.画笔
2.1画笔状态
默认画笔在画布中心、宽度为1、方向为水平右、颜色黑色并且下触。
turtle.pensize() | turtle.width() :设置画笔宽度。turtle.speed() :速度,[0:10],越大越快。
2.2绘图控制
a.画笔运动控制
1 #a.画笔运动命令 2 3 turtle.forward(distance) 4 #向当前画笔方向移动distance像素长度 5 turtle.backward(distance) 6 #向当前画笔相反方向移动distance像素长度 7 turtle.right(degree) 8 #顺时针移动degree° 9 turtle.left(degree) 10 #逆时针移动degree° 11 turtle.pendown() 12 #移动时绘制图形,缺省时也为绘制 13 turtle.goto(x,y) 14 #将画笔移动到坐标为x,y的位置 15 turtle.penup() 16 #提起笔移动,不绘制图形,用于另起一个地方绘制 17 turtle.circle() 18 #画圆,半径为正(负),表示圆心在画笔的左边(右边)画圆 19 setx( ) 20 #将当前x轴移动到指定位置 21 sety( ) 22 #将当前y轴移动到指定位置 23 setheading(angle) 24 #设置当前朝向为angle角度 25 home() 26 #设置当前画笔位置为原点,朝向东 27 dot(r) 28 #绘制一个指定直径和颜色的圆点 29 30 #b.画笔控制命令 31 32 turtle.fillcolor(colorstring) 33 #绘制图形的填充颜色 34 turtle.color(color1, color2) 35 #同时设置pencolor=color1, fillcolor=color2 36 turtle.filling() 37 #返回当前是否在填充状态 38 turtle.begin_fill() 39 #准备开始填充图形 40 turtle.end_fill() 41 #填充完成 42 turtle.hideturtle() 43 #隐藏画笔的turtle形状 44 turtle.showturtle() 45 #显示画笔的turtle形状 46 47 #c.全局控制命令 48 49 turtle.clear() 50 #清空turtle窗口,但是turtle的位置和状态不会改变 51 turtle.reset() 52 #清空窗口,重置turtle状态为起始状态 53 turtle.undo() 54 #撤销上一个turtle动作 55 turtle.isvisible() 56 #返回当前turtle是否可见 57 stamp() 58 #复制当前图形 59 turtle.write(s [,font=("font-name",font_size,"font_type")]) 60 #写文本,s为文本内容,font是字体的参数,分别为字体名称,大小和类型;font为可选项,font参数也是可选项 61 62 #d.其他命令 63 64 turtle.mainloop()或turtle.done() 65 #启动事件循环 -调用Tkinter的mainloop函数。必须是turtle图形程序中的最后一个语句 66 turtle.mode(mode=None) 67 #设置乌龟模式(“standard”,“logo”或“world”)并执行重置。如果没有给出模式,则返回当前模式 68 ''' 69 模式 初始龟标题 正角度 70 standard 向右(东) 逆时针 71 logo 向上(北) 顺时针 72 ''' 73 turtle.delay(delay=None) 74 #设置或返回以毫秒为单位的绘图延迟。 75 turtle.begin_poly() 76 #开始记录多边形的顶点。当前的乌龟位置是多边形的第一个顶点 77 turtle.end_poly() 78 #停止记录多边形的顶点。当前的乌龟位置是多边形的最后一个顶点。将与第一个顶点相连 79 turtle.get_poly() 80 #返回最后记录的多边形
//*******************************************************************************
贴上练习代码
1 import turtle as t 2 3 def Screen(): 4 #t.setup(width=1024, height=960, startx=100, starty=100) 5 t.bgcolor("orange") 6 t.screensize(2000,1500,"#0ffff0") 7 t.title("Hello!") 8 9 def Draw0(): 10 t.penup() 11 t.pensize(5) #pen's width 12 #t.color("black") #default is black 13 #t.forward(10) 14 t.circle(100,steps=3) 15 t.pendown() #default is down 16 t.goto(-100,-200) 17 t.penup() 18 19 def Draw1(): 20 t.penup() 21 t.goto(100,100) 22 t.pendown() # 23 t.begin_fill() 24 t.color("yellow") 25 t.circle(50) 26 t.end_fill() 27 t.penup() 28 29 def Draw2(): 30 t.penup() 31 t.goto(200,100) 32 t.pendown() 33 t.begin_fill() # 34 t.color("blue") # 35 t.fillcolor("black") # 36 t.circle(50) 37 t.end_fill() 38 t.penup() 39 40 ''' 41 turtle.write(arg, move=False, align="left", font=("Arial", 8, "normal")) 42 Parameters: 43 arg – object to be written to the TurtleScreen 44 move – True/False 45 align – one of the strings “left”, “center” or right” 46 font – a triple (fontname, fontsize, fonttype) 47 ''' 48 def Write(): 49 t.penup() 50 #t.goto(0,0) 51 #t.write("Color Draw",font=("Times",18,"bold")) 52 t.write("Home = ",False,align="left") 53 t.write((0,0),True) 54 t.clear() 55 56 def Draw3(): 57 t.penup() 58 t.setpos(200,200) 59 t.pendown() 60 t.pencolor("blue") 61 t.right(50) #Rotate right 62 t.forward(100) # 63 t.dot(10,"red") # 64 t.left(50+180) #Ritate left 65 t.color("blue") 66 t.speed(10) 67 t.forward(100) 68 69 def Draw4(): 70 t.penup() 71 t.goto(100,100) 72 t.pen(fillcolor="red",pencolor="black",pensize=10) 73 t.pendown() 74 t.circle(50) 75 t.goto(-100,-100) 76 t.pencolor("#ffff00") #"#%02x%02x%02x" % (r, g, b) 77 t.width(2) 78 t.forward(100) 79 t.left(180) 80 81 def Draw5(): 82 #t.color("black","red") 83 #t.begin_fill() 84 t.speed(10) 85 t.circle(80) 86 #t.end_fill() 87 t.clear() 88 t.clearscreen() 89 t.delay(0) 90 91 92 def main(): 93 Screen() 94 #Write() 95 #while(True): 96 # Draw5() 97 Draw4() 98 #t.mainloop() #stop 99 #t.bye() #close window 100 t.exitonclick() 101 102 if __name__ == "__main__": 103 main()