在wxpython中绘制一个包含两个点的矩形

在wxpython中绘制一个包含两个点的矩形,python,user-interface,wxpython,Python,User Interface,Wxpython,比如说,如何使用两组点绘制矩形 (X1=10,Y1=20)和(X2=100,Y2=200),使用dc.DrawRectangle()方法。它只需要一组点,但我需要它来使用两组点绘制矩形?如果您知道(X1,Y1)是左上角,而(X2,Y2)是右下角,那么您可以使用: pt1 = (10, 20) pt2 = (100, 200) # calculate top left corner coords, width, height min_x = min(pt1[0], pt2[0]) # left m

比如说,如何使用两组点绘制矩形 (X1=10,Y1=20)和(X2=100,Y2=200),使用dc.DrawRectangle()方法。它只需要一组点,但我需要它来使用两组点绘制矩形?

如果您知道(X1,Y1)是左上角,而(X2,Y2)是右下角,那么您可以使用:

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)
dc.DrawRectangle(X1, Y1, X2-X1, Y2-Y1)
更一般地说

dc.DrawRectangle(min(X1,X2), min(Y1,Y2), abs(X1-X2), abs(Y1-Y2))

应始终有效(至少对于与x轴和y轴对齐的矩形)。

dc.DrawRectangle()
需要2个点…哦,对不起,我是说两组坐标,将在您查找
dc.DrawRectangle(10、20、100、200)时立即编辑问题?是的,但最后两个点100和200不就是矩形的大小吗?
dc.DrawRectangle(10,20,100-10200-20)