答案 0 :(得分:2)
正如Canvas
上的文档解释:
协调系统
Canvas
小部件使用两个坐标系;窗口坐标系(左上角有(0,0)),以及指定项目绘制位置的画布坐标系。通过滚动画布,您可以指定要在窗口中显示的画布坐标系的哪个部分。scrollregion 选项用于限制画布的滚动操作。要设置此项,您通常可以使用以下内容:
canvas.config(scrollregion=canvas.bbox(ALL))
def callback(event):
canvas = event.widget
x = canvas.canvasx(event.x)
y = canvas.canvasy(event.y)
print canvas.find_closest(x, y)
请注意,这将为您提供 canvas 坐标,这些坐标不一定与 image 坐标相同 - 例如,如果您在画布中留下图像周围的边框,你必须手动纠正。