如何使用 dc.DrawRectangle() 方法使用两组点绘制矩形,比如说 (X1=10, Y1=20) 和 (X2=100, Y2=200)。它只需要一组点,但我需要它来使用两组点绘制矩形?
问问题
2157 次
2 回答
1
pt1 = (10, 20)
pt2 = (100, 200)
# calculate top left corner coords, width, height
min_x = min(pt1[0], pt2[0]) # left
min_y = min(pt1[1], pt2[1]) # top
width = max(pt1[0], pt2[0])-min_x
height = max(pt1[1], pt2[1])-min_y
# draw rectangle
dc.DrawRectangle(min_x, min_y, width, height)
于 2012-08-13T10:17:29.310 回答
1
如果你知道 (X1, Y1) 是左上角, (X2, Y2) 是右下角,那么你可以使用:
dc.DrawRectangle(X1, Y1, X2-X1, Y2-Y1)
更普遍,
dc.DrawRectangle(min(X1,X2), min(Y1,Y2), abs(X1-X2), abs(Y1-Y2))
应该始终有效(至少对于与 x 和 y 轴对齐的矩形)。
于 2012-08-13T22:58:41.810 回答