如何在Python Tkinter画布上放置裁剪过的图像
我看到很多类似的问题,但没有找到完全适合我这个情况的解决方案:我想要做以下几件事:
- 从电脑里加载一张图片文件
- 裁剪这张图片(可以懒裁剪,也可以认真裁剪)
- 把它放到一个TKinter的画布上
哦,如果第一步不需要是gif格式的文件那就更好了,不过即使必须是gif格式我也会很开心。就这些了……
我可以加载文件,也可以裁剪它(用PIL),还可以把它放到画布上(用TKinter),但我似乎无法把这些步骤结合起来……(所以也许只需要简单地把PIL的内容转到TKinter就可以了?)我当然是TKinter的新手。
1 个回答
5
在 PIL
里有一个叫 ImageTk
的模块。
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()