首頁 > 軟體

關於Python使用turtle庫畫任意圖的問題

2022-04-01 13:02:54

環境設定

系統:Windows10

版本:python 3.8

Turtle掃盲

1.繪圖表單的設定

turtle.setup(width, height, startx, starty)

startx , starty 預設在螢幕中心。

2.畫筆控制函數

turtle.penup() #別名 turtle.pu(),擡起畫筆
turtle.pendown() #別名 turtle.pd(),落下畫筆
turtle.pensize(width) #別名 turtle.width(width),畫筆寬度
turtle.pencolor(color) #color為顏色字串或r,g,b值,畫筆顏色

注:

顏色字串 : turtle.pencolor("purple")
RGB的小數值: turtle.pencolor(0.63, 0.13, 0.94)
RGB的元組值: turtle.pencolor((0.63,0.13,0.94))

3.形狀繪製函數

turtle.forward(d) #別名 turtle.fd(d),直線前進d(可為負數)個畫素
turtle.circle(r, extent=None) #根據半徑r繪製extent角度的弧形
turtle.setheading(angle) #別名 turtle.seth(angle),angle: 行進方向的絕對角度
turtle.left(angle) #海龜向左轉,angle: 在海龜當前行進方向上旋轉的角度
turtle.right(angle) #海龜向右轉
turtle.goto(x, y) # 絕對座標

Turtle畫任意圖

1.經典案例

import turtle as t
t.setup(650,650,200,200)
t.speed(10) # 畫筆的速度,1到10遞增
t.penup()
t.fd(-250)
t.pendown()
t.pensize(25)
t.pencolor("purple")
t.seth(-40)
for i in range(4):
	t.circle(40, 80)
	t.circle(-40, 80)
t.circle(40, 80/2)
t.fd(40)
t.circle(16, 180)
t.fd(40 * 2/3)
t.mainloop() # 保持介面顯示,後面的語句失效

2.畫任意圖片

import turtle as t
import cv2
t.getscreen().colormode(255)
img1 = cv2.imread('2.jpg')[0: -2: 2] #填入你的圖片絕對路徑,建議100kb以下。
width = len(img1[0])
height = len(img1)
t.setup(width=width / 2 + 100, height=height + 100)
t.speed(8) 
t.pu()
t.goto(-width / 4 + 10, height / 2 - 10)
t.pd()
t.tracer(2000)
for k1, i in enumerate(img1):
    for j in i[::2]:
        t.pencolor((j[0], j[1], j[2]))
        t.fd(1)
    t.pu()
    t.goto(-width / 4 + 10, height / 2 - 10 - k1 - 1)
    t.pd()
t.done() # 保持介面顯示

到此這篇關於Python turtle庫畫任意圖的文章就介紹到這了,更多相關Python turtle庫畫圖內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com