【閱讀全文】
后唐李煜曾說道,櫻花落盡春將困,秋千架下歸時,漏暗斜月遲遲,花在枝,櫻花落盡的時候春天也將過去了,秋千架下歸去時,天上的斜月姍姍來遲,花還在枝頭,

關于python畫圖相關的,我們一直使用的是turtle來畫,用專業的非標準庫來做專業的事兒,將需要使用到的內置庫或者非標準庫全部都匯入到當前的代碼塊中,
from time import sleep # 用于控制程式運行時的阻塞停頓
from turtle import * # 繪圖相關介面
import random # 生成亂數
設定全域需要初始化的物件,以及相關的全域引數設定,這樣就不用在后面每畫一筆進行設定了,
但是畫布上面有一個箭頭一直無法消除,有知道的大佬煩請留言說一下解決辦法,感激不盡!
tle = Turtle() # 初始化小烏龜畫筆物件
tle.hideturtle() # 全域隱藏畫筆
tle.clear() # 清除螢屏
tle.speed(0) # 設定畫筆速度為0,也就是最快的畫筆速度
scr = Screen() # 初始化螢屏物件
getscreen().tracer(30, 0) # 回傳一個TurtleScreen類的繪圖物件,并開啟繪畫,加速繪畫程序
scr.screensize(bg='white') # 設定背景顏色
開始繪制,設定開始時的畫筆相關的屬性或引數,
tle.left(90)
tle.up()
tle.backward(150)
tle.down()
tle.color('sienna')
接下來是撰寫兩個函式,一個是用于生成樹枝/樹干并在對應的樹枝旁邊畫上櫻花,另一個則是在櫻花樹的地上鋪滿掉落的櫻花,這樣的思路來源于CSDN博客平臺,向大佬遞茶!
撰寫畫櫻花樹的樹枝/樹干部分/樹枝櫻花的函式draw_branch_flower,
def draw_branch_flower(len):
'''
繪制樹枝/花函式
:param len: 樹枝長度
:return:
'''
sleep(0.0005)
if len > 3:
if 8 <= len <= 12:
if random.randint(0, 2) == 0:
tle.color('snow')
else:
tle.color('lightcoral')
tle.pensize(len / 3)
elif len < 8:
if random.randint(0, 1) == 0:
tle.color('snow')
else:
tle.color('lightcoral')
tle.pensize(len / 2)
else:
tle.color('sienna')
tle.pensize(len / 10)
tle.forward(len)
a = 1.5 * random.random()
tle.right(20 * a)
b = 1.5 * random.random()
draw_branch_flower(len - 10 * b)
tle.left(40 * a)
draw_branch_flower(len - 10 * b)
tle.right(20 * a)
tle.up()
tle.backward(len)
tle.down()
撰寫畫櫻花樹旁邊的地上的花瓣函式draw_ground_flower,
def draw_ground_flower(flower_num):
'''
繪制地上掉落的花瓣
:param flower_num: 花瓣數量
:return:
'''
for i in range(flower_num):
a = 200 - 400 * random.random()
b = 10 - 20 * random.random()
tle.up()
tle.forward(b)
tle.left(90)
tle.forward(a)
tle.down()
tle.color('lightcoral')
tle.circle(1)
tle.up()
tle.backward(a)
tle.right(90)
tle.backward(b)
呼叫櫻花樹相關的繪圖函式,快速完成繪圖程序,
draw_branch_flower(60)
draw_ground_flower(200)
使用exitonclick函式保持在繪畫完成時,視窗不會直接關閉,
scr.exitonclick()

以上就是櫻花樹的全部繪制程序了,完整的代碼塊檔案請在公眾號內回復'1001'獲取,直接運行即可,

【往期精彩】
Python 讀取PDF檔案為文本字符并轉換為音頻...
python 獲取最新房價資訊-以北京房價為例
辦公自動化:Image圖片轉換成PDF檔案存盤...
python做一個微型美顏圖片處理器,十行代碼即可完成...
用python做一個文本翻譯器,自動將中文翻譯成英文,超方便的!
小王,給這2000個客戶發一下節日祝福的郵件...
python 一行命令開啟網路間的檔案共享...
PyQt5 批量洗掉 Excel 重復資料,多個檔案、自定義重復項一鍵洗掉...
再見XShell,這款國人開源的終端命令列工具更nice!
python 表情包下載器,輕松下載上萬個表情包、斗圖不用愁...
Python 自動清理電腦垃圾檔案,一鍵啟動即可...
有了jmespath,處理python中的json資料就變成了一種享受...
歡迎關注作者公眾號【Python 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/458642.html
標籤:其他
上一篇:C++基礎- 參考
