![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
Здравствуйте, уважаемые Программисты!
В общем есть у меня такой вопрос. Есть у меня на форме картинка, хотелось бы применить к ней эффект, который называется colorize. То есть делать картинку однотонной. Но как это реализовать, я не знаю. Нашёл в DRKB вот такой код:
Но этот код для меня сложен, я не знаю, как его использовать. В общем, помогите пожалуйста в этом вопросе. Пример эффекта colorize (на случай, если я коряво описал): |
|||
|
||||
| THandle |
|
|||
![]() Хранитель Клуба Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 50 Всего: 372 |
Что это за функция без результата?
? И собственно говоря что конкретно не понятно в этом коде? |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: 3 Всего: 128 |
Алгоритм этого эффекта тоже не знаю, но можно попробовать его понять.
Luma - это, как я понял, сила окрашивания. Она применяется в следующих формулах для задания смещения цвета в определенную сторону. Ведь что такое Colorize, судя по картинкам? Это смещение общего цветового баланса в определенную сторону. Поэтому сначала определяем силу, затем по каждой из трех составляющих цвета (Red, Green, Blue, RGB) производим смещение цвета с заданной силой. Про shr и shl ничего не могу сказать, похоже, это просто надо запомнить. В G и B происходит смещение через shr, а вот в результате производится обратное смещение с помощью shl, применяемое уже к новому цвету, полученному ранее. Не могу сказать, зачем это нужно. Я бы просто запомнил. Хотя и объяснение получить тоже интересно. Не знаю, понятно ли объяснил и правильно ли. Но мне кажется, что так. Это сообщение отредактировал(а) mr.Anderson - 27.4.2008, 14:10 |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
||||
|
||||
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
VICTAR, оно! Очень здорово.
А можно сделать так, чтобы как в фотошопе было? Ну например мы двигаем TrackBar и в зависимости от положения меняется цвет картинки? Сам я не додумаюсь как такое сделать... :( Хотя нет! Додумаюсь, если посидеть, подумать. Но от готового примерчика не откажусь. Это сообщение отредактировал(а) SandyProgrammer - 27.4.2008, 14:35 |
|||
|
||||
| VICTAR |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 10 Всего: 80 |
У меня сейчас не стоит фотошопа.
Если у тебя не получится, то поставлю фотошоп, посмотрю как там сделано... Это сообщение отредактировал(а) VICTAR - 27.4.2008, 14:44 |
|||
|
||||
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
VICTAR, окей! Спасибо, Вам большое.
Это сообщение отредактировал(а) SandyProgrammer - 27.4.2008, 14:45 |
|||
|
||||
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
Так, ну вот я набросал, как оно должно выглядеть на основе Вашего VICTAR примера.
Только у меня изображение меняется по одному из трёх каналов, а мне нужно чтобы по всем цветам сразу. И ещё результат мне хотелось бы не на отдельном Image выводить, а на том же самом. Вот небольшое видео - пример как это реализовано в Photoshop: http://ifolder.ru/6327178 (709 kb) Мне нужно, чтобы так же ползунком (TrackBar например) можно было этот эффект воспроизводить. Это сообщение отредактировал(а) SandyProgrammer - 27.4.2008, 15:37 Присоединённый файл ( Кол-во скачиваний: 8 )
Colorizer.rar 278,11 Kb |
|||
|
||||
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
Что-то у меня у самого не получается сделать полноценный эффект colorize.
|
|||
|
||||
| SandyProgrammer |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 48 Регистрация: 26.3.2008 Репутация: нет Всего: нет |
Вот, сделал какое-то подобие эффекта colorize. Мне для использования в своём проекте хватит, но если кто-то доведёт это дело до ума, буду рад.
Присоединённый файл ( Кол-во скачиваний: 8 )
simpleexample.rar 296,26 Kb |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |