從Python的turtle繪圖開始學習圖形化程式設計
阿新 • • 發佈:2018-11-21
Turtle
python2.6版本中後引入的一個簡單的繪圖工具,叫做海龜繪圖(Turtle Graphics),turtle庫是python的內部庫,使用匯入即可 :
import turtle
畫布
畫布就是turtle為我們展開用於繪圖區域, 我們可以設定它的大小和初始位置
設定畫布大小
turtle.screensize(canvwidth=None, canvheight=None, bg=None)
引數分別為畫布的寬(單位畫素), 高, 背景顏色
比如:
turtle.screensize(1200, 900, "green") turtle.screensize() #返回預設大小(400, 300)
或者使用百分比的方式來設定畫布大小
turtle.setup(width=0.5, height=0.75, startx=None, starty= None)
引數:
width, height: 輸入寬和高為整數時, 表示畫素; 為小數時, 表示佔據電腦螢幕的比例
(startx, starty): 這一座標表示 矩形視窗左上角頂點的位置, 如果為空,則視窗位於螢幕中心。
比如:
turtle.setup(width=0.3,height=0.3,startx=50,sterty= 50)
畫筆
畫筆的狀態
在畫布上,預設有一個座標原點為畫布中心的座標軸, 座標原點上有一隻面朝x軸正方向小烏龜. 這裡我們描述小烏龜時使用了兩個詞語:座標原點(位置),面朝x軸正方向(方向), turtle繪圖中, 就是使用位置方向描述小烏龜(畫筆)的狀態。
畫筆的屬性
turtle.pensize():設定畫筆的寬度
turtle.pencolor(); 沒有引數傳入,返回當前畫筆顏色,傳入引數設定畫筆顏色,可以是字串如"green", "red",也可以是RGB 3元組
turtle.speed(speed): 設定畫筆移動速度,畫筆繪製的速度範圍[0,10]整數, 數字越大越快
繪圖命令
畫筆運動命令
命令 | 說明 |
---|---|
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.speed(speed) | 畫筆繪製的速度範圍[0,10]整數 |
turtle.circle() | 畫圓,半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓 |
畫筆控制命令
命令 | 說明 |
---|---|
turtle.pensize(width) | 繪製圖形時的寬度 |
turtle.pencolor() | 畫筆顏色 |
turtle.fillcolor(colorstring) | 繪製圖形的填充顏色 |
turtle.color(color1, color2) | 同時設定pencolor=color1, fillcolor=color2 |
turtle.filling() | 返回當前是否在填充狀態 |
turtle.begin_fill() | 準備開始填充圖形 |
turtle.end_fill() | 填充完成; |
turtle.hideturtle() | 隱藏箭頭顯示; |
turtle.showturtle() | 與hideturtle()函式對應 |
全域性控制命令
命令 | 說明 |
---|---|
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的引數也是可選項 |
開始學習圖形化程式設計
匯入turtle模組並顯示箭頭
輸出/寫字串
前進指定畫素
修改畫筆顏色
箭頭左轉90度
去到指定座標
擡筆
下筆並畫圓
完整程式碼
>>> #匯入turtle 模組
>>> import turtle
>>> #顯示箭頭
>>> turtle.showturtle()
>>> #輸出/寫字串
>>> turtle.write("Hello turtle!!")
>>> #前進指定畫素
>>> turtle.forward(400)
>>> #修改畫筆顏色
>>> turtle.color("red")
>>> #箭頭左轉90度
>>> turtle.left(90)
>>> #去到指定座標
>>> turtle.goto(400,400)
>>> #擡筆
>>> turtle.penup()
>>> #這樣再去某個座標,路徑就不會畫出來
>>> turtle.goto(200,200)
>>> #下筆,這樣路徑就出來了
>>> turtle.pendown()
>>> #畫圓
>>> turtle.circle(-200)
>>> #正的表示向左畫圓的半徑,負數表示向右畫圓的半徑