Страница: 1 |
Страница: 1 |
Вопрос: Алгоритм заливки
Добавлено: 21.09.05 18:19
Автор вопроса: Victor | Web-сайт:
Помогите. Как написать флгоритм заливки без использования массива посещений. А то перед закрашиванием, если рисунок большой, прога полчаса выделяет память для этого массива посещений.
Прошу не указывать на стандартные функции заливки - мне своя нужна, которая будет заливать до более хитрых границ чем просто определенный цвет или его смена.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
el-paso
Вопросов: 3
Ответов: 164
Профиль | | #1
Добавлено: 21.09.05 21:37
если речь об одном непрерывном участке поверхности, то возможно тебя интересует всего лишь алгоритм обхода-определения всех пикселей участка. тогда ознакомься с этим алгоритмом:
http://alglib.sources.ru/graphics/fillarea.php
его легко адаптировать к конкретной задаче. да и памяти он относительно мало жрёт.
Номер ответа: 2
Автор ответа:
Morpheus
Вопросов: 224
Ответов: 3777
Web-сайт:
Профиль | | #2
Добавлено: 21.09.05 21:52
вообще для крутой заливки как в фотошопе нельзя обойтись там каким-нить АПИшным флад-филлом, надо юзать матрицу изображения и обрабатывать волновым алгоритмом (в смысле от точки клика и во все стороны). тут ты и порог сможешь задать, и макс. разницу цветов и и прозрачность и вообще - матрица путь ко всему. Но ессно это будет тормозить. а чё ж фотожоп тоже неслишком умён. я как увидел первый раз подума- ну точно не на басике написан. а потом как то даже скручивание (хоть и медленное) но сделал, итп.
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 22.09.05 03:21
Волновой алгоритм здорово ускоряется, если хранить пиксели "волны" в массиве
Номер ответа: 4
Автор ответа:
Victor
ICQ: 345743490
Вопросов: 42
Ответов: 385
Web-сайт:
Профиль | | #4
Добавлено: 22.09.05 21:33
Да. Спасибо. Это наверно подойдет.