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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM