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

python基于tkinter實現(xiàn)gif錄屏功能

 更新時間:2021年05月19日 15:28:21   作者:dhjabc_1  
一直在思索實現(xiàn)一個透明的窗體,然后可以基于這個窗體可以開發(fā)出各種好玩的應用,這一期,我們將實現(xiàn)有趣的GIF錄屏功能

一、主界面實現(xiàn)

(一)實現(xiàn)最簡單的窗體

from tkinter import *

if __name__ == '__main__':

    tk = Tk()
    tk.geometry('500x400+500+150')
    tk.title('有趣的透明窗體-開篇了?。?!')
    canvas = Canvas(tk)
    canvas.pack(fill=BOTH, expand=Y)
    tk.mainloop()

太簡單了,不詳細說了,相信大家都看得懂。

(二)把灰色設置成透明色

TRANSCOLOUR = 'gray'
tk.wm_attributes('-transparentcolor', TRANSCOLOUR)

(三)放置一個矩形框在canvas上

canvas.create_rectangle(0, 0, canvas.winfo_width(), canvas.winfo_height(), fill=TRANSCOLOUR, outline=TRANSCOLOUR)

(四)讓透明窗體不斷重畫的onsize函數(shù)

def on_resize(evt):
    tk.configure(width=evt.width,height=evt.height)
    canvas.create_rectangle(0, 0, canvas.winfo_width(), canvas.winfo_height(), fill=TRANSCOLOUR, outline=TRANSCOLOUR)
    print(canvas.winfo_width())

(五)綁定onsize函數(shù)

tk.bind('<Configure>', on_resize)

(六)透明窗體的效果

哈哈,透明主界面效果出來了。

二、GIF錄屏功能實現(xiàn)

(一)按次保存成圖片

def _GifScreen():
    global i
    i += 1
    HWND = win32gui.FindWindow(None,'有趣的透明窗體-開篇了?。?!')
    print(HWND)
    rect=win32gui.GetWindowRect(HWND) #獲取當前窗口坐標
    rect = (rect[0]+10,rect[1]+32,rect[0]+10+ canvas.winfo_width(),rect[1]+10+canvas.winfo_height()+16)
    print(rect)
    im=ImageGrab.grab(rect) #截取目標圖像
    im.save("./out/CaptureScreen_%s.jpeg" % i,'jpeg') #前面一個參數(shù)是保存路徑,后面一個參數(shù)是保存格式

(二)啟用一個線程

啟用一個線程,調(diào)用makegif函數(shù),實現(xiàn)gif圖片的截取

def GifScreen():
    thread_list = []
    t1 = threading.Thread(target=makegif)
    thread_list.append(t1)

(三)實現(xiàn)具體的makegif函數(shù)

當生成的圖片達到20張的時候,就開始調(diào)用create_gif函數(shù)打包成gif文件。

def makegif():
    global i,image_list
    while True:
        _GifScreen()
        time.sleep(0.5)
        if i > 20:
            break;
    create_gif(image_list,'out.gif',0.5)

(四)實現(xiàn)create_gif,將文件夾里面的圖片打包成GIF文件

image_list = []
def create_gif(image_list, gif_name, duration = 1.0):
    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))
    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)

(五)增加錄屏按鈕,并綁定響應事件GifScreen

b = Button(tk, text='GIF截圖', command=GifScreen)
b.pack()

(六)實現(xiàn)按鈕的響應事件GifScreen

def GifScreen():
    thread_list = []
    t1 = threading.Thread(target=makegif)
    thread_list.append(t1)

    #正式開啟現(xiàn)線程
    for t in thread_list:
        t.setDaemon(True)
        t.start()

三、整體實現(xiàn)效果

(一)界面效果

(二)GIF錄屏效果

代碼量不大,效果還行。
再深入研究可以有更多更有趣的應用。

以上就是python基于tkinter實現(xiàn)gif錄屏功能的詳細內(nèi)容,更多關(guān)于python gif錄屏的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • python multiprocessing模塊用法及原理介紹

    python multiprocessing模塊用法及原理介紹

    這篇文章主要介紹了python multiprocessing模塊用法及原理介紹,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • python將秒數(shù)轉(zhuǎn)化為時間格式的實例

    python將秒數(shù)轉(zhuǎn)化為時間格式的實例

    今天小編就為大家分享一篇python將秒數(shù)轉(zhuǎn)化為時間格式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09
  • 深入理解NumPy簡明教程---數(shù)組1

    深入理解NumPy簡明教程---數(shù)組1

    這篇文章主要介紹了深入理解NumPy簡明教程(二、數(shù)組1),NumPy數(shù)組是一個多維數(shù)組對象,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-12-12
  • Python數(shù)組變形的幾種實現(xiàn)方法

    Python數(shù)組變形的幾種實現(xiàn)方法

    本文主要介紹了Python數(shù)組變形的幾種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-05-05
  • Python中出現(xiàn)"No?module?named?'requests'"的圖文解決辦法

    Python中出現(xiàn)"No?module?named?'requests'"

    這篇文章主要給大家介紹了關(guān)于Python中出現(xiàn)"No?module?named?'requests'"的解決辦法,"No?module?named?requests"是Python報錯提示,意味著你在使用某個Python程序或腳本時,沒有找到名為requests的模塊,需要的朋友可以參考下
    2023-11-11
  • 詳解requirements.txt的生成和安裝

    詳解requirements.txt的生成和安裝

    本文主要介紹了詳解requirements.txt的生成和安裝,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-03-03
  • 用Python編寫簡單的gRPC服務的詳細過程

    用Python編寫簡單的gRPC服務的詳細過程

    gRPC 是可以在任何環(huán)境中運行的現(xiàn)代開源高性能 RPC 框架。接下來通過本文給大家介紹用Python編寫簡單的gRPC服務的詳細過程,感興趣的朋友一起看看吧
    2021-07-07
  • pyecharts繪制各種數(shù)據(jù)可視化圖表案例附效果+代碼

    pyecharts繪制各種數(shù)據(jù)可視化圖表案例附效果+代碼

    這篇文章主要介紹了pyecharts繪制各種數(shù)據(jù)可視化圖表案例并附效果和代碼,文章圍繞主題展開詳細的內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • python下讀取公私鑰做加解密實例詳解

    python下讀取公私鑰做加解密實例詳解

    這篇文章主要介紹了python下讀取公私鑰做加解密實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • python字符串格式化(%格式符和format方式)

    python字符串格式化(%格式符和format方式)

    在編寫程序的過程中,經(jīng)常需要進行格式化輸出,每次用每次查,干脆就在這里整理一下,下面這篇文章主要給大家介紹了關(guān)于python字符串格式化的相關(guān)資料,分別是%格式符和format方式,需要的朋友可以參考下
    2022-02-02

最新評論