用python畫個敬業福字代碼

前言

春節快到瞭,一年一度的支付寶集五福活動就要來瞭,阿牛也是突發奇想,看能不能用python的turtle庫畫個"福"字,試瞭很久,我的這個“福“”字終於看起來可以瞭,現將源碼分享給大傢,拿過去放到python的環境中就可以直接運行哦!嘿嘿嘿!這五福手到擒來啦!

海龜畫筆的介紹

海龜繪圖是 Python 內置的一個比較有趣的模塊,模塊名稱為 turtle,並且依賴python內置的tkinter模塊。它最初源於 20世紀60年代 的 Logo 語言,之後成為瞭 Python 的內置模塊。海龜繪圖提供瞭一些簡單的繪圖方法,可以根據編寫的控制指令(代碼),讓一個 “海龜” 在屏幕上來回移動,而且可以在它爬行的路徑上繪制圖形。通過海龜繪圖,不僅可以在屏幕上繪制圖形,還可以看到整個繪制過程。另外,海龜繪圖對初學者十分友好,它能夠輕松地編寫出很多有趣的實例。

海龜繪圖的三要素:
采用海龜繪圖有三個關鍵要素,即方向、位置和畫筆。在進行海龜繪圖時,主要就是控制這些要素來繪出我們想要的圖形。

主要方法:
方向: 在進行海龜繪圖時,方向主要用於控制海龜的移動方向。

left()/lt() 方法:讓海龜左轉 (逆時針) 指定度數。
right()/rt() 方法:讓海龜右轉 (順時針) 指定度數。
setheading()/seth() 方法:設置海龜的朝向為0(東)、90(北)、180(西)或 270(南)

位置: 在進行海龜繪圖時,位置主要用於控制海龜移動的距離。

forward(distance)/fd(distance):讓海龜向前移動指定距離。
backward(distance)/bk(distance):讓海龜向後退指定距離。
goto(x,y):讓海龜移動到畫佈中的特定位置。即坐標 (x,y) 所指定的位置。
setx(x):設置海龜的橫坐標到 x,縱坐標不變。
sety(y):設置海龜的縱坐標到 y,橫坐標不變。
home():海龜移至初始坐標(0,0),並設置朝向為初始方向。

畫筆:海龜繪圖中的畫筆就相當於現實生活中繪圖所用的畫筆。在海龜繪圖中,通過畫筆可以控制線條的粗細、顏色和運動的速度。

pensize() 設置畫筆的寬度(畫筆線條粗細為指定大小);
pencolor() 沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字符串如"green","red",也可以是rgb顏色元組。
speed(speed) 設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大畫的越快。

“福”字源碼

from turtle import *
screensize(800,600,"red") #設置畫佈大小,且將背景變為紅色
pensize(50)  #畫筆大小
pencolor('black')  #畫筆顏色
shape("circle")  #形狀為圓
speed(3) #畫筆速度,參數越大,速度越快

"""繪制福字左側偏旁"""
#畫點
seth(-60) #畫筆方向(參數相當於度數)
penup() #抬筆
bk(240) #後退
seth(-45)
pendown()  #落筆
fd(50) #前進
#畫橫
seth(45),penup(),bk(135)
seth(15),pendown(),fd(135)
#畫撇
seth(-125),pendown(),fd(200)
#畫豎
seth(55),penup(),fd(150)
seth(-90),pendown(),fd(220)
#畫點
seth(90),penup(),fd(220)
seth(-45),pendown(),fd(60)

"""畫福字右側部分"""
#######畫一
seth(70),penup(),fd(190)
seth(10),pendown(),fd(120)

#######畫口
seth(38),penup(),bk(150)
#畫豎
seth(-85),pendown(),fd(85),penup(),bk(85)
#畫橫
seth(10),pendown(),fd(120)
#畫豎
seth(-95),pendown(),fd(90)
#畫橫
seth(9),penup(),bk(95),pendown(),fd(95)

#######畫田
seth(38),penup(),bk(165)
#畫豎
seth(-85),pendown(),fd(110),penup(),bk(110)
#畫橫
seth(10),pendown(),fd(175)
#畫豎
seth(-95),pendown(),fd(145)
#畫口裡的橫
penup(),bk(85),pensize(30)
seth(-170),fd(150),pendown(),bk(150)
#畫口裡的豎
seth(165),penup(),fd(85)
seth(-90),pendown(),fd(90)
#畫橫
seth(4),penup(),bk(60),pendown(),pensize(50),fd(120)

hideturtle()  #隱藏畫筆的turtle形狀
mainloop()  #tkinter模塊的事件循環函數,讓幕佈畫完圖不關閉,等價於done()

結果展示

在這裡插入圖片描述

總結

到此這篇關於用python畫個敬業福字代碼的文章就介紹到這瞭,更多相關python畫福內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: