2012-08-13 79 views
-1

如何使用兩組點來繪製矩形,例如使用dc可以說 (X1 = 10,Y1 = 20)和(X2 = 100,Y2 = 200)。 DrawRectangle()方法。它只需要一組點,但我需要它使用兩組點來繪製矩形?在wxpython中繪製一個帶有兩個點的矩形

+0

'dc.DrawRectangle()'需要2分... – irrelephant 2012-08-13 09:01:06

+0

哦對不起,我的意思是2組座標,很快就會編輯這個問題 – user1401950 2012-08-13 09:03:27

+0

你在找'dc.DrawRectangle(10,20,100,200 );'? – irrelephant 2012-08-13 09:05:54

回答

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) 
+0

謝謝工作出色!:) – user1401950 2012-08-22 08:38:34

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軸對齊的矩形)。