gpt4 book ai didi

python - 使用 Python PIL 捕获 x,y 坐标

转载 作者:太空狗 更新时间:2023-10-29 21:32:26 25 4
gpt4 key购买 nike

我想使用 PIL 向用户显示图像,当用户单击此图像上的任意位置时,我希望调用 def onmousedown(x,y)。我会在这个函数中做一些额外的事情。我怎样才能在 PIL 中做到这一点?

谢谢,

最佳答案

PIL 不会单独完成——PIL 是一个没有用户界面的图像处理库——它有一个show方法,它打开一个显示图像的外部程序,但是不与 Python 进程进行通信。

因此,为了能够让用户与图像进行交互,必须使用与 Python 一起使用的综合工具包之一构建 GUI 程序 - 更为人所知的是 Tkinter、GTK 和 Qt4。 Tkinter 很有趣,因为它预装在 Windows Python 安装中,因此该系统的用户更容易使用。如果您决定使用其他工具包,Windows 用户必须单独下载并安装 gtk 或 qt 库才能使用您的程序。

这是一个带有可点击图像的 Tkinter 应用程序的极简示例:

import Tkinter
from PIL import Image, ImageTk
from sys import argv

window = Tkinter.Tk(className="bla")

image = Image.open(argv[1] if len(argv) >=2 else "bla2.png")
canvas = Tkinter.Canvas(window, width=image.size[0], height=image.size[1])
canvas.pack()
image_tk = ImageTk.PhotoImage(image)
canvas.create_image(image.size[0]//2, image.size[1]//2, image=image_tk)

def callback(event):
print "clicked at: ", event.x, event.y

canvas.bind("<Button-1>", callback)
Tkinter.mainloop()

关于python - 使用 Python PIL 捕获 x,y 坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8590234/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com