ader Опубликовано 8 июня, 2015 Опубликовано 8 июня, 2015 Задача: нужно рисовать много составных полигонов (с дырками). В gdi+ использовал Path.AddPolygon, в FireMonkey такой функции нет. Заполнять строку Path.Data - сомневаюсь в производительности такого метода (полигон может состоять из тысяч точек). Какие ещё могут быть варианты? Цитата
0 GASCHE Опубликовано 8 июня, 2015 Опубликовано 8 июня, 2015 А такая DrawPolygon(Polygon,1) не подойдет? Цитата
0 ader Опубликовано 9 июня, 2015 Автор Опубликовано 9 июня, 2015 А такая DrawPolygon(Polygon,1) не подойдет? а как ей нарисовать полигон с дыркой? Цитата
0 GASCHE Опубликовано 9 июня, 2015 Опубликовано 9 июня, 2015 Что-то не пойму, Canvas.DrawPolygon(const Points: TPolygon; const AOpacity: Single) где TPolygon = array of TPointF рисует созданный вами полигон, а уж с дыркой он или нет зависит от вас. Цитата
0 ader Опубликовано 9 июня, 2015 Автор Опубликовано 9 июня, 2015 Что-то не пойму, Canvas.DrawPolygon(const Points: TPolygon; const AOpacity: Single) где TPolygon = array of TPointF рисует созданный вами полигон, а уж с дыркой он или нет зависит от вас. Полигон с дыркой - это два полигона, один внутри другого. Структура TPolygon не позволяет задать разбиение полигона на части (type TPolygon = array of TPointF). При отрисовке дырка будет соединена с внешней кромкой. В windows есть спец.функция function PolyPolygon(DC: HDC, var Points; var PolyCounts; Count: Integer): Bool В gdi+ использовал пути (см.выше). Как сделать это в FireMonkey - не вижу Цитата
Вопрос
ader
Задача: нужно рисовать много составных полигонов (с дырками). В gdi+ использовал Path.AddPolygon, в FireMonkey такой функции нет. Заполнять строку Path.Data - сомневаюсь в производительности такого метода (полигон может состоять из тысяч точек).
Какие ещё могут быть варианты?
4 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.