![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
Добрый день.
Ситуация такая: пользователь рисует мышью прямые векторные линии (ну и разные фигуры), при этом должна быть возможность заливки. Подскажите алгоритм по которому найти и вычислить область заливки? |
|
|||||
|
[+1 16.08.10]
Регистрация: Jun 2009
Сообщений: 93
|
а ты попробуй использовать нарисованное пользователем как маску к другому обьекту который уже залит нужным цветом
|
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Вам именно векторно? Вообще, если преобразовать в битмапдату, можно воспользоваться специальными алгоритмами заливки. http://algolist.ru/graphics/fill.php
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
да. Векторно.
Я так понимаю, самое сложное здесь - это определить входит ли эта точка внутрь какой-либо фигуры. |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Самое сложное — знать что за фигура и ее параметры.
Вот что за фигура? Неизвестно. Только попиксельно заливать. А вот если вы знаете, что она состоит из 500 линий и знаете у каждой из пятисот линий начальную и конечную точки, тогда уже математика пойдет.
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
Рисовать можно только прямые линии и окружности.
Кол-во и координаты линий и окружностей известны. Вы правы, осталась только математика... |
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
Вам помогут на математическом форуме
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
|
Регистрация: Oct 2006
Адрес: Волгодонск
Сообщений: 182
|
Надеялся, что кто-нибудь уже с этим сталкивался и поделится опытом... |
|
|||||
|
BitmapData.fillRect
BitmapData.floodFill |
|
|||||
|
Регистрация: Jul 2009
Адрес: Москва
Сообщений: 99
|
Можно рисовать векторно, отобразить это все в BitmapData, а потом залить на ней и сделать эту BitmapData как подложку
|
![]() |
![]() |
Часовой пояс GMT +4, время: 11:54. |
|
|
« Предыдущая тема | Следующая тема » |
|
|