-1

dc.DrawRectangle()メソッドを使用して、たとえば(X1 = 10、Y1 = 20)と(X2 = 100、Y2 = 200)の2セットの点を使用して長方形を描画するにはどうすればよいですか。1セットのポイントしか必要ありませんが、2セットのポイントを使用して長方形を描画するために必要ですか?

4

2 に答える 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 に答える