【问题标题】:How to put a cropped image on a Tkinter Canvas in Python如何在 Python 中将裁剪后的图像放在 Tkinter 画布上
【发布时间】:2012-02-26 21:20:04
【问题描述】:

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

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

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

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

【问题讨论】:

  • 将来在 stackexchange 上发布之前,您可能希望尝试实现算法的至少一个步骤,然后再期待其他人为您编写它。看来你运气不错。编辑:不知道为什么这篇文章刚刚出现在我面前,在它发布 3 年后。
  • @Darren ,确实是 3 年前......当然,我曾尝试实现它,除了证明我已经研究过它之外,发布代码是没有用的。当我没有卡在画布上时,我看不到发布代码以加载文件、裁剪文件并将其放置在画布上的价值。除了我喜欢编码之外,当其他人为我编写我的代码时,我会讨厌它:) 我被困在错过了一个库而不是某个代码。

标签: python tkinter python-imaging-library crop


【解决方案1】:

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()

【讨论】:

    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 2019-11-30
    • 2012-06-10
    • 2019-02-21
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多