如何将裁剪后的图像放在 Python 中的 Tkinter 画布上

Pet*_*ter 2 python tkinter crop python-imaging-library

我发现了很多类似的问题,但不是这个案例的完全解决方案:我想

  1. 从磁盘加载图像文件
  2. 裁剪它(懒惰与否)
  3. 将其放在 TKinter 画布上

哦,如果步骤 1 不需要是 gif 文件会更好,但即使必须是,我也会很高兴。就是这样..

我可以加载一个文件,我可以裁剪它(在 PIL 中)我可以将它放在画布上(在 TKinter 中),但我似乎无法将它全部组合起来..(所以也许从 PIL 到 TKinter 的简单转换是够了吗?)当然,我是 TKinter 的新手。

rec*_*dev 5

中有ImageTk模块PIL

from Tkinter import *
from PIL import Image, ImageTk

root = Tk()
canvas = Canvas(root, width=500, height=500)
canvas.pack()

im = Image.open("image.png")
cropped = im.crop((0, 0, 200, 200))
tk_im = ImageTk.PhotoImage(cropped)
canvas.create_image(250, 250, image=tk_im)

root.mainloop()
Run Code Online (Sandbox Code Playgroud)