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 ответа на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.