PIL не будет делать это в одиночку - PIL является манипуляция библиотеки изображений без каких-либо пользовательских интерфейсов - у него есть show
метода, который делает открыть внешнюю программу, которая отображает изображение, но делает не связываться с процессом Python.
Поэтому для того, чтобы пользователь мог взаимодействовать с изображением, нужно создать программу GUI, используя один из консолидированных наборов инструментов для использования с Python - более известными являются 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()
PIL - это только библиотека изображений, вы можете создавать изображения с ней. Отображение изображения и захват события клика - это работа механизма пользовательского интерфейса. Какой король пользовательского интерфейса у вас есть/хотите? – Ski