Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.09.2007, 05:06   #1
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию Заливка с допуском

Скажите пожалуйста как в собственном графическом редакторе осуществить инструмент заливку с допуском?
devi409 вне форума Ответить с цитированием
Старый 21.09.2007, 12:34   #2
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 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)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 21.09.2007, 17:15   #3
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

С допуском в смысле как в фотошопе, т.е. когда цвет границы может лежать в определённом диапазоне.
Ну наверно надо применить заливку несколько раз, изменяя 3й параметр в цикле. Тормозно однако будет Должны быть варианты получше
пыщь
JTG вне форума Ответить с цитированием
Старый 25.09.2007, 07:09   #4
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

Ну дак и че? Никаких предложений не будет?
Хотя бы скажте как заливка работает? Как мне ее осуществить? Как выбераются пиксели? а допуск я сам по цветовой гамме подберу.
devi409 вне форума Ответить с цитированием
Старый 27.09.2007, 09:28   #5
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

Люди... ну плиз помогите... как заливку обычную запрограммить?
devi409 вне форума Ответить с цитированием
Старый 27.09.2007, 11:24   #6
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Блин, ну сказали ж уже.
Заполняет данную область цветом текущей кисти, до тех пор пока не будет достигнут край.
Canvas.FloodFill(10, 10, clBlack, fsBorder);
и в цикле меняешь значение цвета границы (clBlack) на другое, вот тебе и допуск. Но опять же, это тормозной вариант.

есть ещё ExtFloodFill...
Сам алгоритм заливки тут http://home.hccnet.nl/david.dirkse/math/floodfill.html
пыщь
JTG вне форума Ответить с цитированием
Старый 27.09.2007, 11:46   #7
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

ну вот!!! что я и спрашивал... сам алгоритм... а случайно на паскале есть?
devi409 вне форума Ответить с цитированием
Старый 27.09.2007, 19:41   #8
bill
Форумчанин
 
Аватар для bill
 
Регистрация: 26.04.2007
Сообщений: 440
По умолчанию

есть алгоритм на паскале. Там сразу идет пример заливки.
Вложения
Тип файла: zip 1.07 Urok Poisk v glubinu.zip (28.6 Кб, 44 просмотров)
bill вне форума Ответить с цитированием
Старый 03.10.2007, 05:13   #9
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

что то ссылочка не работа...


ОЙ ... все заработала...

Псиб...

Последний раз редактировалось devi409; 03.10.2007 в 07:00.
devi409 вне форума Ответить с цитированием
Старый 10.10.2007, 06:51   #10
devi409
Пользователь
 
Регистрация: 28.12.2006
Сообщений: 75
По умолчанию

Да... близок локоток да не укусишь...
Алгоритм конечно простой и в коментариях не нуждается... НО
При большом вызове рекурсии возникает ошибка переполнения стека...
Воть...
Хто поможет?
devi409 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заливка и увеличительное стекло 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