我有一个带图像的文件夹,我正在使用tkinter和PIL在目录中显示图像。但是,每当我运行以下代码时,它都不会显示任何图像。这是我试过的代码,
from Tkinter import *
import os
from PIL import Image, ImageTk
def getFileName(image):
print str(image)
def CropManual():
global outputFile
#getCrop(outputFile)
print "Crop Manual"
def showImages(folder):
print "loading....", folder
gtk = Tk()
gtk.wm_title("Images")
row, col = 0,0
for images in os.listdir(folder):
print images
im = Image.open(images)
#im = im.resize(250, 250, Image.ANTIALIAS)
tkimage = ImageTk.PhotoImage(im)
handler = lambda img = images : getFileName(img)
imageButton = Button(gtk, image=tkimage, command=handler)
imageButton.image=tkimage
imageButton.grid(row=row+1, column=col+1, padx=3, pady=3)
row +=1; col+=1;
userCrop = Button(gtk, text="Crop Manually?", command=CropManual)
userCrop.grid(row=row+1, column=col+1, padx=3, pady=3)
gtk.mainloop()
showImages("/home/yogaraj/Music/Image1487915648.54/")
图像文件夹在这里。
这是我得到的错误
尽管文件存在,但它没有显示此类文件或目录。任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
您必须传递图像的绝对路径
更改
im = Image.open(images)
到
im = Image.open(folder + images)
或更好
im = Image.open(os.path.join(folder, images))