Tkinter:获取鼠标绘制矩形的坐标
Tkinter: getting coordinates of a mouse drawn rectangle
根据我之前 的答案,我想知道如何获取表示矩形角的 4 个像素的坐标及其 2 个维度?
只需使用 on_button_press()
和 on_button_release()
方法的 event
参数中包含的 x,y 坐标:
width = abs(xRelease - xPress)
height = abs(yRelease - yPress)
您可以使用 canvas.bbox(item)
获取 canvas 上某项的边界框坐标。因为您的项目是一个矩形,所以边界框正好代表该矩形。
在你的情况下它将是:
self.canvas.bbox(self.rect)
这个returns一个包含(x0, y0, x1, y1)
的元组,其中0点是左上角,1点是右下角。
您可以轻松地将它们转换为四个角和尺寸:
Upper left = x0, y0
Upper right = x1, y0
Lower left = x0, y1
Lower right = x1, y1
width = x1-x0
height = y1-y0
根据我之前
只需使用 on_button_press()
和 on_button_release()
方法的 event
参数中包含的 x,y 坐标:
width = abs(xRelease - xPress)
height = abs(yRelease - yPress)
您可以使用 canvas.bbox(item)
获取 canvas 上某项的边界框坐标。因为您的项目是一个矩形,所以边界框正好代表该矩形。
在你的情况下它将是:
self.canvas.bbox(self.rect)
这个returns一个包含(x0, y0, x1, y1)
的元组,其中0点是左上角,1点是右下角。
您可以轻松地将它们转换为四个角和尺寸:
Upper left = x0, y0
Upper right = x1, y0
Lower left = x0, y1
Lower right = x1, y1
width = x1-x0
height = y1-y0