Working on the answer of my previous question, I wonder how to get the coordinates of the 4 pixels representing the corners of the rectangle as well as its 2 dimensions ?
Asked
Active
Viewed 1,586 times
1
-
It seems those values are in `self.start_x`, `self.start_y`, `curX` and `curY`. What exactly is the problem? – tobias_k Apr 24 '15 at 14:55
2 Answers
1
You can use canvas.bbox(item)
to get the coordinates of the bounding box of an item on the canvas. Because your item is a rectangle, the bounding box exactly represents the rectangle.
In your case it would be:
self.canvas.bbox(self.rect)
This returns a tuple containing (x0, y0, x1, y1)
in which point 0 is the upper left corner and point 1 is the lower right corner.
You can easily convert these to the four corners and sizes:
Upper left = x0, y0
Upper right = x1, y0
Lower left = x0, y1
Lower right = x1, y1
width = x1-x0
height = y1-y0

fhdrsdg
- 10,297
- 2
- 41
- 62
0
Just use the x,y coordinates contained in the event
parameter of the on_button_press()
and on_button_release()
methods:
width = abs(xRelease - xPress)
height = abs(yRelease - yPress)

Craig Burgler
- 1,749
- 10
- 19