【发布时间】:2012-11-10 16:57:30
【问题描述】:
我想要做的是打开一个带有两张图片的窗口(一张是另一张的精确副本)。然后,当我单击一个按钮时,它会更改右侧的图像。我希望这是有道理的。我没有的代码是:
from __future__ import division
from Tkinter import *
from PIL import Image, ImageTk, ImageFilter
import random
class MyApp(object):
def __init__(self):
self.root = Tk()
self.root.wm_title("Image examples")
img = Image.open("lineage.jpg").convert("RGB")
(w, h) = (img.size[0], img.size[1])
print (w, h)
tkpi = ImageTk.PhotoImage(img)
label = Label(self.root, image=tkpi)
label.grid(row=0, column=0, padx=5, pady=5, rowspan=10)
img2 = img.copy()
pixels = img2.load()
tkpi2 = ImageTk.PhotoImage(img2)
label = Label(self.root, image=tkpi2)
label.grid(row=0, column=1, padx=5, pady=5, rowspan=10)
Button(self.root, text="Brighten", command=self.brighten).grid(row=0, column= 2)
self.root.mainloop()
def brighten(self):
self.pixels = self.pixels.point(lambda x: x*1.9)
MyApp()
当我点击brighten 按钮时,我想要更新img2。当我现在尝试时,我得到了这个错误:
File "C:\Users\Admin\Desktop\imageeditor.py", line 36, in brighten
self.pixels = self.pixels.point(lambda x: x*1.9)
AttributeError: 'MyApp' object has no attribute 'pixels'
正如您所说,我是编程新手,所以任何能帮助我走上正轨的帮助都会很棒。
【问题讨论】:
标签: python python-2.7 tkinter python-imaging-library