2017-03-03 47 views
0

我構建了一個代碼,用於檢查文件夾中最近的圖片(將只有文件中的圖片),它可以處理兩張圖片。代碼將成爲視頻流的更大代碼的一部分,這就是爲什麼我需要快速切換最近的圖片。如何循環代碼打開文件夾中的最後2張圖片

所以,這就是我曾經試過的: 這段代碼檢查兩次最近的圖片,並通過Tkinter打開它。 我現在需要的是使它成爲無限循環運行的代碼,並在圖片之後切換圖片。

這是代碼:

import tkinter as tk 
from PIL import Image, ImageTk 
from Tkinter import * 
import Image, ImageTk 
import glob,os 


def RecentFilePath(): 
    folder = "C:\\NIR" 
    return(str(max((x for x in glob.glob(os.path.join(folder,"*")) if os.path.isfile(x)),key=os.path.getmtime))) 

root = tk.Tk() 

img = ImageTk.PhotoImage(Image.open(RecentFilePath)) 
panel = tk.Label(root, image = img) 
panel.pack(side = "bottom", fill = "both", expand = "yes") 
t = True 
def callback(): 
    global t 
    t = not t 
    if(t): 
     img2 = ImageTk.PhotoImage(Image.open(RecentFilePath)) 
    else: 
     img2 = ImageTk.PhotoImage(Image.open(RecentFilePath)) 
    panel.configure(image = img2) 
    panel.image = img2 
    root.after(1000, callback) 

root.after(1000, callback) 
root.mainloop() 

非常感謝您!

回答

1

你是不是叫你PhotoImage作品(img和兩個img2 assignings)RecentFilePath

img = ImageTk.PhotoImage(Image.open(RecentFilePath())) 
                ^^ you need to call it, to get return value 
+0

好的,生病了就修好了。但現在我需要知道何循環它的無限循環,將運行 –

+0

@ J.Doe你的after方法已經做到了。它每一秒鐘都會調用'callback'。 – Lafexlos

+0

所以,如果我有東西,把每一秒新的圖片在一個文件夾中,這個代碼(我張貼在這裏)將每秒切換到最新的圖片? –

相關問題