|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.04.2009, 14:56 | #1 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Нужны любые идеи как создать фильтр Color blindness для bitmap!
Добрый день!
Нужны любые идеи как создать фильтр Color blindness для bitmap наподобие приложенного рисунка. Ниже приведен тестовый вариант подобного решения, но он не работает корректно и нет действительного рисунка Color blindness: Код:
Последний раз редактировалось rpy3uH; 05.04.2009 в 17:50. |
04.04.2009, 17:00 | #2 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
я чот не пойму.. вам нада определить пару наиболее часто встречающихся цветов и на итоговый рисунок вывести тока их, а остальные просто удалить.. или что?? можна вопрос немного по конкретнее сделать?? или у вас есть какойто текст и нада на него чтото наложить..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
04.04.2009, 17:24 | #3 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Спасибо за дискуссию, мне необходимо например число любое или слово вывести на битмап так как это показано в прилагаемом к этому сообщению рисунку. смотрите аттач, пожалуйста. спасибо.
|
04.04.2009, 18:09 | #4 |
Форумчанин
Регистрация: 12.05.2007
Сообщений: 373
|
в прилагаемом вами коде оно рисует круг заданого радиуса С КАЖДОЙ точки исходного битмапа.. от того код работает не корректно.. тут нужно в корне менять алгоритм.. я вижу его приблизительно таким:
1) определить какую нибуть точку надписи (назовем ее первой точкой.. потому что с нее будем отталкиваться дальше..) 2) оприделить растояние от єтой точки до ближайшей гриницы надписи (это будет радиус круга) и проверить чтобы в даной зоне небыло других кружков.. 3) нарисовать кржок 3) определить следующюю точку на тексте.. и дальше п1 - 3.. и тоже самое нада проделать и для фона..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен: "Перемен!Мы ждем перемен!" |
04.04.2009, 18:23 | #5 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Спасибо за дискуссию. Может кто-то может более конкретнее подсказать решение задачи - небольшим примером. Спасибо.
|
04.04.2009, 19:47 | #6 |
Заблокирован
Старожил
Регистрация: 20.07.2008
Сообщений: 4,032
|
Есть идея!
Вообразим сетку с шагом, например, 30 пикселей. Теперь в цикле пробегаем по этой сетки и рандомно выбираем радиус окружности с центром в узле сетки, но он(радиус) не больше шага сетки, не меньше константы, и не врезается в другие круги!Заносим данный в массив.Пробегаемся по этому массиву и определяем средний цвет! Очищаем изображение и отрисовываем круги с заданными радиусами и цветом! |
04.04.2009, 19:57 | #7 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
полседняя идея по-моему очень интересная, могу попросить Вас привести пример, пусть не совсем рабочий. я врач и мне необходим этот алгоритм для работы. на примере мне будет проще доработать его. Спасибо.
|
04.04.2009, 20:02 | #8 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
На подобии придыдущего поста. Черным по белому большими буквами пишите то что надо через любые api, тот же примитивный TextOutW. Потом сканируите с нужным шагом (сетки) и создаете соотвественно двумерный массив типа 0 до 1. Т.е. интенсивность цвета (если надо именно так как на картинке). Далее чистите этот HDC (ну или в простонародии TCanvas) и прогоняя ваш полученный массив относительно интенсивности, т.е. как бы коэфицеента, выводите нужный цвет то что надо, к примеру кружки.
Уточнил просто. Писать пример, слижком уж трудоемко, время терять, может кто-то и напишет. |
04.04.2009, 20:26 | #9 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Спасибо за идею, может у кого-то найдется небольшой пример, хотя бы схематично. спасибо.
|
05.04.2009, 09:12 | #10 |
Форумчанин
Регистрация: 05.04.2008
Сообщений: 244
|
Спасибо за идеи, но мне совершенно непонятна фраза из предыдущего сообщения "потом сканируите с нужным шагом (сетки) и создаете соотвественно двумерный массив типа 0 до 1.". может все же приведете пусть даже неработающий, но "живой" пример о чем идет речь. Спасибо.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать фильтр в ShellListView? | LeoN | Компоненты Delphi | 5 | 05.07.2010 09:11 |
Файл и много картинок в нём. Нужны идеи | Аццкий прогер | Мультимедиа в Delphi | 5 | 17.03.2009 14:09 |
как сделать фильтр для списка combobox ? | sergey113 | Помощь студентам | 2 | 13.08.2008 16:29 |
Интересная задача. Нужны идеи ее решения | KnDmPetr | Паскаль, Turbo Pascal, PascalABC.NET | 11 | 05.03.2008 18:43 |
Как построить Bitmap для jpeg файла ??? | Kocapb | Общие вопросы C/C++ | 4 | 14.12.2007 19:50 |