Anzeige von 12 Bildern zyklisch erfolgen lassen
Verfasst: Montag 19. Dezember 2011, 16:30
Hallo , vielleicht kann mir geholfen werden ?
Durch folgendes Skript werden jeweils die letzten 12 Bilder aus einem Verzeichnis geladen und in einem Frame dargestellt. Dieser Vorgang
sollte jedoch zyklisch(automatisch) erfolgen, wenn wieder durch eine
Kamera ein neues Bild ins Verzeichnis gelangt. Im Frame sollten also die
jeweils 12 aktuellen Bilder angezeigt werden. Wenn ich mein Skript in eclipse
starte geschieht dies jedoch nur einmalig, ich finde keinen Lösungsansatz.
:K
Durch folgendes Skript werden jeweils die letzten 12 Bilder aus einem Verzeichnis geladen und in einem Frame dargestellt. Dieser Vorgang
sollte jedoch zyklisch(automatisch) erfolgen, wenn wieder durch eine
Kamera ein neues Bild ins Verzeichnis gelangt. Im Frame sollten also die
jeweils 12 aktuellen Bilder angezeigt werden. Wenn ich mein Skript in eclipse
starte geschieht dies jedoch nur einmalig, ich finde keinen Lösungsansatz.
Code: Alles auswählen
from Tkinter import *
from PIL import Image,ImageTk
import sys,os
from time import *
root=Tk()
root.title(' TK 5 FormenScan')
b=[]
filenames=[]
highestno={}
highestfi={}
for filename in os.listdir("C:\\Python26\\AVT\\"):
basename,extension = filename.split('.')
filenames.append(filename)
prefix,number=basename.split('AVT')
if number>highestno.get(prefix,0):
highestno[prefix]=number
highestfi[prefix]=filename
prefixes=highestno.values()
bildno=prefixes[len(prefixes)-1]
bildno=int(bildno)
#print'filenames =',filenames
#print'Type number=',type(number)
#print 'BildNo=',bildno
z=number
print z
print 'type Z=',type(z)
for n in range(12):
image=Image.open("C:\Python26\AVT\AVT%s.png"%(z))
image=image.resize((240,200),Image.ANTIALIAS)
bild =ImageTk.PhotoImage(image)
b.append(bild)
print 'ZZ =',z
z=int(z)
if (100000>z>10000):
z=z-1
z='0000'+str(z)
elif (10000>z>1000):
z=z-1
z='00000'+str(z)
elif (1000>z>=101):
z=z-1
z='000000'+str(z)
print 'z =',z
elif (100>=z>=11):
z=z-1
print 'n',z
z='0000000'+str(z)
print 'all',z
else :
z=z-1
z='00000000'+str(z)
bz=0
bno=len(filenames)
frame=Frame(root,width=600,height=800,borderwidth=4,bg='yellow')
frame.pack(side=TOP,fill=BOTH,expand=True)
for n in range(3):
for i in range(4):
label=Label(frame,image=b[bz])
print 'Image =',image
print 'BZ =',bz
bildlabel=Label(frame,text=filenames[((bno-1)-bz)])
label.grid(row=n,column=i,padx=5,pady=7)
bildlabel.grid(row=n,column=i,sticky='N',padx=3,pady=5)
bz=bz+1
if __name__ =='__main__':
root.mainloop()