2011-02-02 3 views
1

Допустим, что у меня есть координаты двух Rectangle s, они могут быть рядом друг с другом или иметь пространство между ними. Мне нужно нарисовать PolygonHotSpot вокруг двух прямоугольников (так что он будет охватывать только два прямоугольника и пространство между ними). Я пришел к выводу, что мне нужно дать координаты по часовой стрелке вокруг всего полигона, а не вокруг каждого прямоугольника (который отлично подходит для одного прямоугольника).Нарисуйте PolygonHotSpot вокруг двух прямоугольников?

Так что, учитывая список координат, есть ли способ получить их в том порядке, в котором мне нужно, чтобы не было никаких пробелов в моем PolygonHotSpot?

ответ

0

Вы хотите Union из двух:

Dim R1 As New Rectangle(20, 20, 100, 100) 
    Dim R2 As New Rectangle(200, 200, 100, 100) 
    Dim R3 = Rectangle.Union(R1, R2) '//R3 = 20, 20, 280, 280 
+0

Спасибо за ответ, но я не думаю, что это именно то, что я ищу. Rectangle.Union создает минимально возможный прямоугольник вокруг двух заданных прямоугольников. Мне нужно использовать два набора координат и применить их к PolygonHotSpot, так что единственная область, на которую можно щелкнуть, находится на прямоугольниках, а не на всей области вокруг них. Надеюсь, это имеет смысл, его легче нарисовать на бумаге. – lhan

+0

Мне интересно, если бы мне было лучше рисовать два отдельных RectangleHotSpots, таким образом я могу использовать координаты, которые у меня есть, а затем сопоставить их с одним и тем же URL. Тогда между этими двумя выбираемыми не будет места. – lhan

+0

@lhanneman, я потратил больше времени, чем должен (я сейчас на работе), потому что это забавная проблема, но я думаю, что согласен с вашей идеей просто рисовать две карты изображений. Вы также можете проверить, пересекается ли прямоугольник, и если они не рисуют третий прямоугольник, который их соединяет. –

Смежные вопросы