У меня есть два набора точек, я хочу создать прямоугольник из этих двух точек, который всегда положителен, т. Е. Самая низкая координирующая пара - это начальная точка, а самая старшая координатная пара - конечная точка.Есть ли более простой способ создать положительный прямоугольник из двух точек?
Я создал функцию, которая делает это, но она не кажется очень элегантной - это лучший способ/встроенная функциональность для этого?
Private Function CalculateDraggedRectangle(ByVal startX As Integer, ByVal startY As Integer, ByVal currentX As Integer, ByVal currentY As Integer) As Rectangle
Dim rX, rY, rWidth, rHeight As Integer
If currentX < startX Then
If currentY < startY Then
rX = currentX
rY = currentY
rWidth = startX - currentX
rHeight = startY - currentY
Else
rX = currentX
rY = startY
rWidth = startX - currentX
rHeight = currentY - startY
End If
Else
If currentY < startY Then
rX = startX
rY = currentY
rWidth = currentX - startX
rHeight = startY - currentY
Else
rX = startX
rY = startY
rWidth = currentX - startX
rHeight = currentY - startY
End If
End If
Return New Rectangle(rX, rY, rWidth, rHeight)
End Function