사용자가 이미지의 크기를 조절할 수있는 간단한 프로그램을 만들고 있습니다. 그러나 나는 문제가되었다. 내가 Image.open()
를 사용하여 이미지를 열려고하면 다음 오류 얻을 :PIL assist Python
AttributeError: class Image has no attribute 'open'
나는 이것을 연구하고 그것을 변수에 그것을 만드는 것처럼 Image
에 뭔가를 할당하는 것입니다.
from PIL import Image
from Tkinter import *
import tkFileDialog
import ttk
class Application(Frame):
def __init__(self, parent):
Frame.__init__(self,parent)
self.pack(fill=BOTH)
self.create_widgets()
def create_widgets(self):
self.tfr = Frame(self)
self.tfr.pack(side=TOP)
self.title = Label(self.tfr, font=("Arial", 20), text="Image Resizer")
self.title.pack(side=TOP, fill=X, padx=40)
self.spacer = Frame(self.tfr, bg="black")
self.spacer.pack(side=TOP, fill=X)
self.mfr = Frame(self)
self.mfr.pack(side=TOP)
self.brButton = ttk.Button(self.mfr, text="Browse", command=self.browse)
self.brButton.pack(side=LEFT, padx=(0, 2), pady=2)
self.diField = Label(self.mfr, text="File Path...", relief=SOLID, bd=1, width=25, anchor=W)
self.diField.pack(side=LEFT)
self.spacer2 = Frame(self, bg="black")
self.spacer2.pack(side=TOP, fill=X)
self.bfr = Frame(self)
self.bfr.pack(side=TOP)
self.rButton = ttk.Button(self.bfr, text="Resize", width=41, command=self.resize)
self.rButton.pack(side=TOP, pady=2)
def browse(self):
supportedFiles = [("PNG", "*.png"), ("JPEG", "*.jpg,*.jpeg,*.jpe,*.jfif"), ("GIF", "*.gif")]
filePath = tkFileDialog.askopenfile(filetypes=supportedFiles, defaultextension=".png", mode="rb")
if filePath != None:
photo = Image.open(filePath, "rb")
size = photo.size
print(size)
else:
pass
def resize(self):
print("Resize")
root = Tk()
root.title("Image Resizer")
root.resizable(0,0)
app = Application(root)
root.mainloop()
사람이 내가이 오류가있는 이유에 도움이 되거 수 :하지만 여기 Image
내 코드가 뭔가를 할당 난 아무 짓 내 코드에서 볼 수 없습니다. 어떤 도움을 크게 주시면 감사하겠습니다.
당신의 Image.open : mode 인수 인 경우 주어진 "r"이어야합니다. – KevinDTimm
@KevinDTimm이 오류의 원인은 아닙니다. 이미지 파일을 읽는 것조차 전에. 위의 ht 오류가 발생합니다. –
정확하지만 다음 문제가 될 것입니다. – KevinDTimm