我在这里创建了一个Tkinter Canvas小部件,然后在其中嵌入一个图像。
import Tkinter
from PIL import ImageTk, Image
class image_manip(Tkinter.Tk):
def __init__(self):
Tkinter.Tk.__init__(self)
self.configure(bg='red')
self.ImbImage = Tkinter.Canvas(self, highlightthickness=0, bd=0, bg='blue')
self.ImbImage.pack()
self.i = ImageTk.PhotoImage(Image.open(r'test.png'))
self.ImbImage.create_image(150, 100, image=self.i)
def run():
image_manip().mainloop()
if __name__ == "__main__":
run()
我希望能够在Canvas小部件中创建一个空白图像,这样我就可以在小部件中进行逐像素操作。怎么会这样呢?
答案 0 :(得分:13)
要创建新的空白图片(打开除外),您可以使用Image.new(...)
方法代替Image.open(...)
。它被描述为here。
然后调用self.i.put(...)
进行逐像素操作。 (我是示例中的PhotoImage对象)
这是一些通用的tkinter photoimage documentation。