欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python簡(jiǎn)單幾步畫(huà)個(gè)鉆石戒指

 更新時(shí)間:2022年09月06日 09:25:10   作者:清遠(yuǎn)小阮  
這篇文章主要介紹了Python簡(jiǎn)單幾步畫(huà)個(gè)鉆石戒指,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、效果演示

二、制作步驟/過(guò)程

(一)繪制戒指

使用tkinter的canvas畫(huà)布繪制8個(gè)點(diǎn),然后把這8個(gè)點(diǎn)使用canvas.create_line()劃線(xiàn)函數(shù)用直線(xiàn)連接起來(lái)形成鉆石形狀。為了增強(qiáng)效果讓鉆石旋轉(zhuǎn)起來(lái),使用while循環(huán),每隔一段時(shí)間重新繪制鉆石,但繪制的起始角度偏轉(zhuǎn)11.25度,這樣運(yùn)行程序鉆石看上去就旋轉(zhuǎn)起來(lái)了。

繪制好鉆石后,再使用canvas.create_oval()繪制兩個(gè)橢圓作為戒指環(huán)就可以了。

(二)繪制雪花

只有戒指單調(diào)了一點(diǎn),來(lái)給畫(huà)布添加點(diǎn)雪花。這里使用random.randint()函數(shù)每隔一段時(shí)間隨機(jī)繪制50個(gè)10px大小的白色正方形,并繪制在畫(huà)布上,這里看起來(lái)就好多了。這里繪制正方形使用到了canvas.create_rectangle()函數(shù)。

三、完整源代碼文件

import time,random,math
from tkinter import Tk, Canvas
# 打開(kāi)窗口
def open_window():
    _root = Tk()
    _root.title("七夕,用Python給你送個(gè)鉆石戒指")
    _root.config(bg='black')
    # 設(shè)置畫(huà)板
    _canvas = Canvas(_root, width=640, height=380, bg='black')
    _canvas.pack()
    # 待窗口創(chuàng)建后,2秒后執(zhí)行動(dòng)畫(huà)
    _root.after(2000, paint_canvas(_root, _canvas))
    _root.mainloop()
# 啟動(dòng)動(dòng)畫(huà)函數(shù)
def paint_canvas(_tk, _canvas):
    # 設(shè)置鉆石開(kāi)始角度
    _start_angle = 0
    # 設(shè)置存放鉆石八個(gè)點(diǎn)x,y坐標(biāo)的列表
    _list_x, _list_y = [], []
    # 設(shè)置鉆石八個(gè)點(diǎn)之間的角度_angel,鉆石中心點(diǎn)x,y坐標(biāo)_x_center,_y_center,鉆石半徑_r
    _angle, _x_center, _y_center, _r = 30, 320, 120, 50
    while True:
        # 清空畫(huà)板
        _canvas.delete("all")
        # 畫(huà)戒指
        paint_ring(_canvas, _start_angle, _angle, _x_center, _y_center, _r, _list_x, _list_y)
        _list_x.clear()
        _list_y.clear()
        # 從新計(jì)算鉆石開(kāi)始角度
        _start_angle = (_start_angle + 11.25) % 360
        # 畫(huà)星星
        paint_star(_canvas)
        # 動(dòng)畫(huà)刷新時(shí)間間隔
        time.sleep(0.05)
        _canvas.update()
        _tk.update()
# 畫(huà)戒指函數(shù)
def paint_ring(_canvas, _start_angle, _angle, _x_center, _y_center, _r, _list_x, _list_y):
    _canvas.create_oval(180, 110, 460, 280, outline='white')
    _canvas.create_oval(190, 130, 450, 275, outline='white')
    for i in range(12):
        _list_x.append(_x_center + _r * math.cos((_start_angle + (_angle * i)) * math.pi / 180))
        _list_y.append(_y_center + _r * math.sin((_start_angle + (_angle * i)) * math.pi / 180))
    for i in range(12):
        for j in range(12):
            _canvas.create_line(_list_x[i], _list_y[i], _list_x[j], _list_y[j], fill='white')
# 畫(huà)雪花函數(shù)
def paint_star(_canvas):
    # 隨機(jī)生成不超過(guò)畫(huà)布長(zhǎng)、寬的50個(gè)正方形點(diǎn)
    for i in range(50):
        x = random.randint(0, 630)
        y = random.randint(0, 370)
        _canvas.create_rectangle(x, y, x + 5, y + 5, fill='white')
if __name__ == '__main__':
    # 打開(kāi)程序窗口
    open_window()

到此這篇關(guān)于Python簡(jiǎn)單幾步畫(huà)個(gè)鉆石戒指的文章就介紹到這了,更多相關(guān)Python鉆石戒指內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取百度貼吧代碼分享

    前面幾篇都是以介紹基礎(chǔ)知識(shí)為主,各位童鞋估計(jì)都在犯嘀咕了,你到底寫(xiě)不寫(xiě)爬蟲(chóng)????額,好吧,本文就給大家寫(xiě)一個(gè)簡(jiǎn)單的百度貼吧的python爬蟲(chóng)代碼。
    2014-11-11
  • python實(shí)現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法

    python實(shí)現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法

    這篇文章主要介紹了python實(shí)現(xiàn)將元祖轉(zhuǎn)換成數(shù)組的方法,涉及Python中l(wèi)ist方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • Python解析excel文件存入sqlite數(shù)據(jù)庫(kù)的方法

    Python解析excel文件存入sqlite數(shù)據(jù)庫(kù)的方法

    最近工作中遇到一個(gè)需求,需要使用Python解析excel文件并存入sqlite,本文就實(shí)現(xiàn)的過(guò)程做個(gè)總結(jié)分享給大家,文中包括數(shù)據(jù)庫(kù)設(shè)計(jì)、建立數(shù)據(jù)庫(kù)、Python解析excel文件、Python讀取文件名并解析和將解析的數(shù)據(jù)存儲(chǔ)入庫(kù),有需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2016-11-11
  • Numpy數(shù)組的廣播機(jī)制的實(shí)現(xiàn)

    Numpy數(shù)組的廣播機(jī)制的實(shí)現(xiàn)

    這篇文章主要介紹了Numpy數(shù)組的廣播機(jī)制的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python 制作查詢(xún)商品歷史價(jià)格的小工具

    Python 制作查詢(xún)商品歷史價(jià)格的小工具

    這篇文章主要介紹了Python 如何制作查詢(xún)商品歷史價(jià)格的小工具,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-10-10
  • [機(jī)器視覺(jué)]使用python自動(dòng)識(shí)別驗(yàn)證碼詳解

    [機(jī)器視覺(jué)]使用python自動(dòng)識(shí)別驗(yàn)證碼詳解

    這篇文章主要介紹了python自動(dòng)識(shí)別驗(yàn)證碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python使用struct處理二進(jìn)制(pack和unpack用法)

    Python使用struct處理二進(jìn)制(pack和unpack用法)

    這篇文章主要介紹了Python使用struct處理二進(jìn)制(pack和unpack用法),幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • Python編寫(xiě)繪圖系統(tǒng)之從文本文件導(dǎo)入數(shù)據(jù)并繪圖

    Python編寫(xiě)繪圖系統(tǒng)之從文本文件導(dǎo)入數(shù)據(jù)并繪圖

    這篇文章主要為大家詳細(xì)介紹了Python如何編寫(xiě)一個(gè)繪圖系統(tǒng),可以實(shí)現(xiàn)從文本文件導(dǎo)入數(shù)據(jù)并繪圖,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2023-08-08
  • 解決python3 urllib中urlopen報(bào)錯(cuò)的問(wèn)題

    解決python3 urllib中urlopen報(bào)錯(cuò)的問(wèn)題

    這篇文章主要介紹了關(guān)于解決python3 urllib中urlopen報(bào)錯(cuò)問(wèn)題的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-03-03
  • Python如何利用IMAP實(shí)現(xiàn)郵箱客戶(hù)端功能

    Python如何利用IMAP實(shí)現(xiàn)郵箱客戶(hù)端功能

    IMAP是另一種讀取電子郵件的協(xié)議,IMAP是讀取郵件服務(wù)器的電子郵件與公布欄信息的方法,也就是說(shuō)IMAP 允許客戶(hù)端的郵件程序存取遠(yuǎn)程的信息,這篇文章主要給大家介紹了關(guān)于Python如何利用IMAP實(shí)現(xiàn)郵箱客戶(hù)端功能的相關(guān)資料,需要的朋友可以參考下
    2021-09-09

最新評(píng)論