Russian Qt Forum
Ноябрь 24, 2024, 22:52 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Заливка  (Прочитано 18018 раз)
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #15 : Ноябрь 19, 2009, 22:08 »

Нет проблем, но баш на баш.
Поможешь разобраться как вот эту хрень (http://gmplib.org/) скомпилировать и подключить к проекту на Qt под мингву, займусь алгоритмом. А нет так нет.
Алексей, в мои планы не входит "что-то с Вас поиметь" - просто все те "заливки" входят в мою специальность/работу. Поэтому я знаю - если человек сможет это сделать с нуля за неделю - он хороший программист. Вы сказали "легко" - отвечайте за свои слова или воэьмите их взад Улыбающийся Я не заявлял что могу откомпилить все что хошь под MinGW - "я умею делать только то что я умею делать" Улыбающийся
если не можешь решить мою проблему, то мне нет резона тратить свое время. Халява тут не катит. Если уж жилишь, так от других не требуй.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Ноябрь 19, 2009, 22:23 »

если не можешь решить мою проблему, то мне нет резона тратить свое время. Халява тут не катит. Если уж жилишь, так от других не требуй.
Позвольте, батенька, но ведь Вы только что говорили "легко", "на коленке" - а теперь вспоминаете про резоны и свое время Улыбающийся  Никакого корыстного интереса/халявы здесь не имею - просто покажите всем как оно "легко" - или нечего трепаться  Улыбающийся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #17 : Ноябрь 19, 2009, 22:46 »

если не можешь решить мою проблему, то мне нет резона тратить свое время. Халява тут не катит. Если уж жилишь, так от других не требуй.
Позвольте, батенька, но ведь Вы только что говорили "легко", "на коленке" - а теперь вспоминаете про резоны и свое время Улыбающийся  Никакого корыстного интереса/халявы здесь не имею - просто покажите всем как оно "легко" - или нечего трепаться  Улыбающийся
Не позволю Улыбающийся Кто чего там ошибочно думает насчет моего "легко", что типа это было сказано как синоним "пару десятков строк кода и сейчас выложу" он конкретно ошибается.
Мое легко в данном случае надо расшифровывать так: "Я представляю себе алгоритм заливки при работе с матрицей пикселов и написать его не представляется проблемой".  Тяжело для меня, это когда я не врубаюсь как это делать. Если мои трудозатраты окупятся, готов выложить алгоритм. Если никто не готов, то нефиг.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
Shilo
Гость
« Ответ #18 : Ноябрь 20, 2009, 10:42 »

Не стоит изобретать вылосипед.

http://www.antigrain.com/
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #19 : Ноябрь 20, 2009, 11:15 »

Мое легко в данном случае надо расшифровывать так: "Я представляю себе алгоритм заливки при работе с матрицей пикселов и написать его не представляется проблемой".  Тяжело для меня, это когда я не врубаюсь как это делать. Если мои трудозатраты окупятся, готов выложить алгоритм. Если никто не готов, то нефиг.
Это другой разговор. Конечно, можно сделать но приложить усилия придется. Так что не надо дезориентировать общественность небрежно кидая "да легко" Улыбающийся

Не стоит изобретать вылосипед.
Ну это перебор в другую сторону. По-моему если такая задача возникла (это бывает редко) надо посидеть и написать а не изыскивать/прикручивать нечто. Время то же а пользы больше
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #20 : Ноябрь 25, 2009, 00:18 »

вот тут есть уже готовый паинт
http://www.kolourpaint.org/download.html
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
mal
Гость
« Ответ #21 : Ноябрь 25, 2009, 21:18 »

Странно, что  никто не  подсказал автору темы про алгоритм заполнения с затравкой.
Есть замкнутая область, есть затравочный пиксел...По-моему тот самый случай.
Д.Роджерс "Алгоритмические основы машинной графики" п.2.22, 2.23, 2.24 тебе в помощь автор.
Ну или любую другую литературу покури на этот счет.
Как сказал Igors - за неделю такой код вполне можно реализовать с нуля.
удачи  Подмигивающий
« Последнее редактирование: Ноябрь 25, 2009, 21:32 от mal » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #22 : Ноябрь 25, 2009, 21:55 »

(За)травка тут ни при чем Улыбающийся Заполнение треугольника ничем не отличается от заполнения N-угольника. Алгоритм такой

- (самое трудное) чистим полигон, если есть пересечения или внутренние углы > 180 - разбиваем на несколько "нормальных" (конвексных) полигонов и заливаем каждый

- находим точки с min_Y и max_Y. Идем сверху вниз. Начинаем с 1 (или 2) верхних точек и заканчиваем в 1 (или 2) нижних точках. На каждом шаге вычисляем x_left и x_right "спускаясь" по левому и правому краям и заливаем от (x_left, y) до (x_right, y)

Разумеется, нет нужды всем этим заниматься если можно использовать drawPolygon или базовую графику OC. 
Записан
mal
Гость
« Ответ #23 : Ноябрь 25, 2009, 22:19 »

область может быть любой формы - возьмем контур берега озера к примеру. Я не парюсь в этом случае с полигонами, а использую затравку для заливки.  Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #24 : Ноябрь 25, 2009, 22:33 »

область может быть любой формы - возьмем контур берега озера к примеру. Я не парюсь в этом случае с полигонами, а использую затравку для заливки.  Улыбающийся
Ну если есть маска/цвет - то жить намного проще Улыбающийся
Записан
panAlexey
Гипер активный житель
*****
Offline Offline

Сообщений: 864

Акцио ЗАРПЛАТА!!!!! :(


Просмотр профиля
« Ответ #25 : Ноябрь 26, 2009, 01:09 »

область может быть любой формы - возьмем контур берега озера к примеру. Я не парюсь в этом случае с полигонами, а использую затравку для заливки.  Улыбающийся
Ну если есть маска/цвет - то жить намного проще Улыбающийся
конечно проще, это же не векторный редактор.
Записан

Win Xp SP-2, Qt4.3.4/MinGW. http://trdm.1gb.ru/
BigZ
Гость
« Ответ #26 : Ноябрь 26, 2009, 09:47 »

http://www.ad.cctpu.edu.ru/Personal/Anton/ZHtml/CompGraph/idz%5CFill%5CFill.htm
http://skyfamily.ru/sprav/string/algoritm/
http://ermak.cs.nstu.ru/kg_rivs/graf05.htm

Google + алгоритм заливки области
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.13 секунд. Запросов: 23.