|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.09.2007, 05:06 | #1 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
Заливка с допуском
Скажите пожалуйста как в собственном графическом редакторе осуществить инструмент заливку с допуском?
|
21.09.2007, 12:34 | #2 |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
не знаю что ты имеешь в виду с допуском, в любом случае Canvas может заливать двумя способами - fsSurface, fsBorder.
type TFillStyle = (fsSurface, fsBorder); procedure FloodFill(X, Y: Integer; Color: TColor; FillStyle: TFillStyle);
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
21.09.2007, 17:15 | #3 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
С допуском в смысле как в фотошопе, т.е. когда цвет границы может лежать в определённом диапазоне.
Ну наверно надо применить заливку несколько раз, изменяя 3й параметр в цикле. Тормозно однако будет Должны быть варианты получше
пыщь
|
25.09.2007, 07:09 | #4 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
Ну дак и че? Никаких предложений не будет?
Хотя бы скажте как заливка работает? Как мне ее осуществить? Как выбераются пиксели? а допуск я сам по цветовой гамме подберу. |
27.09.2007, 09:28 | #5 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
Люди... ну плиз помогите... как заливку обычную запрограммить?
|
27.09.2007, 11:24 | #6 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Блин, ну сказали ж уже.
Заполняет данную область цветом текущей кисти, до тех пор пока не будет достигнут край. Canvas.FloodFill(10, 10, clBlack, fsBorder); и в цикле меняешь значение цвета границы (clBlack) на другое, вот тебе и допуск. Но опять же, это тормозной вариант. есть ещё ExtFloodFill... Сам алгоритм заливки тут http://home.hccnet.nl/david.dirkse/math/floodfill.html
пыщь
|
27.09.2007, 11:46 | #7 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
ну вот!!! что я и спрашивал... сам алгоритм... а случайно на паскале есть?
|
27.09.2007, 19:41 | #8 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
есть алгоритм на паскале. Там сразу идет пример заливки.
|
03.10.2007, 05:13 | #9 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
что то ссылочка не работа...
ОЙ ... все заработала... Псиб... Последний раз редактировалось devi409; 03.10.2007 в 07:00. |
10.10.2007, 06:51 | #10 |
Пользователь
Регистрация: 28.12.2006
Сообщений: 75
|
Да... близок локоток да не укусишь...
Алгоритм конечно простой и в коментариях не нуждается... НО При большом вызове рекурсии возникает ошибка переполнения стека... Воть... Хто поможет? |
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Заливка и увеличительное стекло | Aptyp | Общие вопросы Delphi | 6 | 04.01.2010 22:49 |
Градиентная заливка APi функция GradientFillRect в Delphi | Roberto | Win Api | 7 | 11.04.2008 13:34 |
заливка строк DBGrid'а | antoniosm | БД в Delphi | 10 | 18.09.2007 09:19 |