一、簡介
Turtle庫是Python語言中的一個繪制圖像的函數庫。
詳細文檔:?https://docs.python.org/zh-cn/3/library/turtle.html
二、使用
1.畫布設置(canvas)
(1)設置畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None)
參數分別為畫布的寬(單位像素), 高, 背景顏色;turtle.screensize() ,返回默認大小(400, 300)。
turtle.setup(width=0.5, height=0.75, startx=None, starty=None)
參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
2. 畫筆設置
(1)設置畫筆的屬性
turtle.pensize()
設置畫筆的寬度;
turtle.pencolor()
傳入參數設置畫筆顏色,可以是字符串如"green", "red",也可以是RGB 3元組;若沒有參數傳入,則返回當前畫筆顏色;、
turtle.speed(speed)
設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大越快。
3.繪圖命令
(1)畫筆運動命令
turtle.forward(distance)
向當前畫筆方向移動distance像素長度;
turtle.backward(distance)
向當前畫筆相反方向移動distance像素長度;
turtle.right(degree)
順時針移動degree°;
turtle.left(degree)
逆時針移動degree°;
turtle.pendown()
移動時繪制圖形,缺省時也為繪制;
turtle.goto(x,y)
將畫筆移動到坐標為x,y的位置;
turtle.penup()
提起筆移動,不繪制圖形,用于另起一個地方繪制;
turtle.circle(radius, extent=None, steps=None)
畫圓,radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓;extent(弧度) (optional);steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。
例:
circle(50) #整圓
circle(50,steps=3) #三角形
circle(120, 180) #半圓
setx( )
將當前x軸移動到指定位置;
sety( )
將當前y軸移動到指定位置;
setheading(angle)
設置當前朝向為angle角度;
home()
設置當前畫筆位置為原點,朝向東;
dot(r)
繪制一個指定直徑和顏色的圓點;
(2) ? ? 畫筆控制命令
turtle.fillcolor(colorstring)
繪制圖形的填充顏色;
turtle.color(color1, color2)
同時設置pencolor=color1, fillcolor=color2;
turtle.filling()
返回當前是否在填充狀態;
turtle.begin_fill()
準備開始填充圖形;
turtle.end_fill()
填充完成;
turtle.hideturtle()
隱藏畫筆的turtle形狀;
turtle.showturtle()
顯示畫筆的turtle形狀;
(3) ? ?全局控制命令
turtle.clear()
清空turtle窗口,但是turtle的位置和狀態不會改變;
turtle.reset()
清空窗口,重置turtle狀態為起始狀態;
turtle.undo()
撤銷上一個turtle動作;
turtle.isvisible()
返回當前turtle是否可見;
stamp()
復制當前圖形;
turtle.write(s [,font=("font-name",font_size,"font_type")])
寫文本,s為文本內容,font是字體的參數,分別為字體名稱,大小和類型;font為可選項,font參數也是可選項;
(4) ? ?其他命令
turtle.mainloop()
或
turtle.done()
啟動事件循環 -調用Tkinter的mainloop函數;注意必須是烏龜圖形程序中的最后一個語句;
turtle.mode(mode=None)
設置烏龜模式(“standard”,“logo”或“world”)并執行重置。如果沒有給出模式,則返回當前模式;
模式
初始龜標題
正角度
standard
向右(東)
逆時針
logo
向上(北)
順時針
turtle.delay(delay=None)
設置或返回以毫秒為單位的繪圖延遲;
turtle.begin_poly()
開始記錄多邊形的頂點。當前的烏龜位置是多邊形的第一個頂點;
turtle.end_poly()
停止記錄多邊形的頂點。當前的烏龜位置是多邊形的最后一個頂點。將與第一個頂點相連;
turtle.get_poly()
返回最后記錄的多邊形。
來源:oschina
鏈接:https://my.oschina.net/u/4180069/blog/4917349