|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
вы уверены, что до этого этапа не получится скруглить углы? например, до того как рисовать квадраты на битмапе
если нужно все-таки сделать на этом этапе, то я предлагаю сделать поиск углов (4 вида) и заменить их на заранее подготовленный скругленный вариант наверное можно как-то математически решить задачу, но в математике я не на столько силен =)
__________________
low + |
|
|||||
Регистрация: Nov 2009
Сообщений: 300
|
По моему, это все танцы с бубнами. Blur + threshold = как раз то, что ты хочешь.
И делается быстро. |
|
|||||
Регистрация: Aug 2005
Сообщений: 106
|
До этого не получится, на входе только готовый битмап с прямоугольниками .. ( Поиск прямых углов - так и есть, нужен ...
|
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Любое 2-х цветное изображение состоит из фона и прямоугольных же пикселов изображения)
Так что врядли задача решается в общем виде. Можно ли считать, что расстояние между углами всегда не меньше радиуса скругления? Тогда находим все прямоугольники, рисуем их drawRoundRect - профит. Blur, возможно, не подойдёт, если вогнутые углы не надо скруглять (как на рис.). Как искать прямоугольники? Находим угловой пиксел, который не состоит в других прямоугольниках. Двигаемся вправо (или влево, куда можно), пока не упрёмся. Потом двигаемся вверх (или вниз), пока все пикселы получившегося прямоугольника не цвета фона. Повторять пока не останется угловых пикселов.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Регистрация: Aug 2008
Адрес: Рязань
Сообщений: 723
|
> Потом двигаемся вверх (или вниз), пока все пикселы получившегося прямоугольника не цвета фона.
так неверно найдутся пересеченные прямоугольники
__________________
low + |
|
|||||
Регистрация: Nov 2009
Сообщений: 300
|
Цитата:
sarjick Тебе только выпуклые углы закруглять, или все? |
|
|||||
блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
|
Jewelz, хватит покрыть всё, что есть прямоугольниками. То, что они будут накладываться - не так страшно.
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают. |
|
|||||
Lorem ipsum
|
Точка цвета_прямоугольника является выпуклым углом, если вокруг нее ровно три точки цвета_прямоугольника. Не проще ли отыскать такие углы и скруглить?
__________________
Поймай яблоко 2! Последний раз редактировалось Zebestov; 16.07.2011 в 19:01. |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Цитата:
__________________
Reality.getBounds(this); Последний раз редактировалось Wolsh; 16.07.2011 в 19:41. |
|
|||||
Вообще это делается проще.
1) Исходная картинка 2) Картинка со скруглениями всех углов 3) Применение к 2) маски полученной из 1) (для чб картинки - субстракт инверсии, по сути - удаление всех пикселей белого цвета первой картинки из пикселей второй картинки)
__________________
RTFM |
Часовой пояс GMT +4, время: 15:26. |
|
« Предыдущая тема | Следующая тема » |
|
|