Нарисовать PolygonHotSpot вокруг двух прямоугольников?

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

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


person lhan    schedule 02.02.2011    source источник


Ответы (1)


Вы хотите 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
person Chris Haas    schedule 02.02.2011
comment
Спасибо за ответ, но я не думаю, что это именно то, что я ищу. Rectangle.Union создает наименьший возможный прямоугольник вокруг двух заданных прямоугольников. Мне нужно использовать два набора координат и применить их к PolygonHotSpot, чтобы единственная интерактивная область находилась на прямоугольниках, а не на всей области вокруг двух. Надеюсь, это имеет смысл, легче рисовать на бумаге. - person lhan; 02.02.2011
comment
Мне интересно, не лучше ли мне нарисовать два отдельных объекта RectangleHotSpots, чтобы я мог использовать имеющиеся у меня координаты, а затем сопоставить их с одним и тем же URL-адресом. Тогда между двумя выбираемыми не будет пробела. - person lhan; 02.02.2011
comment
@lhanneman, я потратил на это гораздо больше времени, чем должен (сейчас я на работе), потому что это забавная проблема, но я думаю, что соглашусь с вашей идеей просто нарисовать две карты изображений. Вы также можете проверить, пересекаются ли прямоугольники и не рисуют ли они третий прямоугольник, который их соединяет. - person Chris Haas; 02.02.2011
comment
Спасибо, так и сделаю! Я ценю помощь! - person lhan; 02.02.2011