網(wǎng)站建設(shè)報(bào)價(jià)流程市場營銷經(jīng)典案例
turtle介紹
turtle是一個(gè)繪圖庫,可以通過編程進(jìn)行繪圖。其模擬了一個(gè)烏龜在屏幕上的運(yùn)動(dòng)過程。該庫通常用于給青少年學(xué)習(xí)編程,當(dāng)然,也可以使用其進(jìn)行作圖。
在一些學(xué)校中,可能在python學(xué)習(xí)的課程中,要求完成turtle繪圖的作業(yè),例如,要求畫出代表自己學(xué)校的圖片。
turtle操作
基本操作
import turtle# 創(chuàng)建一個(gè)畫步
screen = turtle.Screen()# 設(shè)置畫布的大小
screen.setup(width=600, height=400)# 設(shè)置標(biāo)題
screen.title("小烏龜繪圖")# 創(chuàng)建一個(gè)烏龜
t = turtle.Turtle()# 向前走100
t.forward(100)# 左轉(zhuǎn)90度
t.left(90)# 重復(fù)走幾次,此時(shí)我們畫出了一個(gè)正方形
for i in range(3):t.forward(100)t.left(90)
結(jié)果如圖所示:
轉(zhuǎn)向與移動(dòng)
- 前進(jìn):
t.forward(distance)
或者t.fd(distance)
- 后退:
t.backward(distance)
或者t.bk(distance)
- 右轉(zhuǎn):
t.right(angle)
或者t.rt(angle)
- 左轉(zhuǎn):
t.left(angle)
或者t.lt(angle)
- 抬起畫筆:
t.penup()
或者t.pu()
- 放下畫筆:
t.pendown()
或者t.pd()
- 到指定位置:
t.goto(x, y)
- 獲取當(dāng)前位置:
t.position()
- 獲取朝向的角度:
t.heading()
?繪制圖案
- 繪制圓形:
t.circle(radius)
- 繪制點(diǎn):
t.dot(size, color)
- 隱藏海龜:
t.hideturtle()
- 顯示海龜:
t.showturtle()
- 改變海龜形狀:
t.shape("turtle")
- 寫字:
t.write("Hello, Turtle!", font=("Arial", 16, "normal"))
- 清除繪制內(nèi)容,但海龜位置不變:
t.clear()
- 清除繪制內(nèi)容,且重置海龜位置:
t.reset()
- 完成繪制:
turtle.done()
可選海龜形狀:
- 箭頭:arrow
- 海龜:turtle
- 圓圈:circle
- 方塊:square
- 三角:triangle
- 經(jīng)典:classic
畫筆屬性
- 設(shè)置畫筆顏色:
t.color(color)
- 設(shè)置畫筆粗細(xì):
t.pensize(width)
- 設(shè)置畫筆移動(dòng)速度(0-10,10最快):
t.speed(speed)
經(jīng)典turtle圖案
彩色五角星
import turtle
import randomscreen = turtle.Screen()
screen.setup(width=500, height=500)t = turtle.Turtle()
screen.colormode(255) # 將顏色模式設(shè)置為RGB顏色for i in range(50):r = random.randint(0, 255)g = random.randint(0, 255)b = random.randint(0, 255)t.color(r, g, b)t.forward(5 * i)t.right(144)
彩色五角星:
奧運(yùn)五環(huán)
奧運(yùn)五環(huán)的顏色,分別是藍(lán)色,黑色,紅色,黃色和綠色,代表了歐洲,亞洲,非洲,大洋洲和美洲,其設(shè)計(jì)者為顧拜旦。
import turtlescreen = turtle.Screen()
screen.setup(width=500, height=500)colors = ["blue", "black", "red", "yellow", "green"]
positions = [(-120, 0), (0, 0), (120, 0), (-60, -50), (60, -50)]t = turtle.Turtle()
t.pensize(6)for color, position in zip(colors, positions):t.penup()t.goto(position)t.pendown()t.color(color)t.circle(50)
奧運(yùn)五環(huán):
櫻花樹
櫻花樹的樹枝的顏色是棕色的,粗細(xì)2-4,花朵的顏色是粉色的,粗細(xì)1-2,當(dāng)branch_length小于等于5時(shí),停止繪制。
import turtle
import randomscreen = turtle.Screen()
screen.setup(width=1000, height=800)t = turtle.Turtle()t.penup()
t.goto(0, -200)
t.pendown()
t.left(90)def draw_branch(branch_length, t):if branch_length > 5:if branch_length < 20:t.color("pink")t.pensize(random.uniform(1, 2))else:t.color("brown")t.pensize(random.uniform(2, 4))t.forward(branch_length)angle = random.uniform(15, 45)t.right(angle)draw_branch(branch_length - random.uniform(5, 15), t)t.left(2 * angle)draw_branch(branch_length - random.uniform(5, 15), t)t.right(angle)t.backward(branch_length)draw_branch(100, t)
櫻花樹:
?turtle圖片保存
import turtle
from PIL import Image# 假設(shè)做了一些繪圖操作,現(xiàn)在我們要保存了# 如果你不想要看到箭頭(也就是烏龜)影響保存圖片效果
# 可以通過hideturtle隱藏烏龜
t.hideturtle()canvas = screen.getcanvas()
canvas.postscript(file="turtle_picture.ps")image = Image.open("turtle_picture.ps")
image.save("turtle_picture.png")
如果系統(tǒng)中沒有g(shù)hostscript,那么無法將.ps
的文件,轉(zhuǎn)為.png
的文件,會(huì)報(bào)錯(cuò)unable to locate ghostscript on paths
此時(shí),需要下載ghostscript
?
下載以后,需要將下載到的ghostscript添加到環(huán)境變量中,例如,默認(rèn)的地址可能是:C:\Program Files\gs\gs10.04.0\bin
,當(dāng)然,需要按照你實(shí)際安裝的地址填寫。
?P.S. 突然發(fā)現(xiàn),其實(shí)百度百科寫的也挺詳細(xì)的