![]() |
|
|
![]()
|
|
| vaddsm |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 30.6.2007 Репутация: нет Всего: нет |
Не нашел боле подходящего раздела на форуме, а так как задача реализуется на C, пишу сюда.
Есть в фотошопе функция такая - добовляет насыщенность ко всем цветам. (Saturation). Не могу понять алгоритма ее работы. Смысл в том что она увеличивает значения максимальной состовляющей цвета RGB (R G B), т.е увеличивается интенсивность доминиркющего цвета в коде RGB, при этом минимльная составляющая падает ровно на столько на сколько возрастает максимальная. Как изменяется среднее значение понять не могу. Вот пример: цвет до: R:205 G:29 B:197 цвет после увеличения насыщенности на максимум: R:255 G:79 B:236 ``` 255 - 250 = 50 197 + 50 = 235~= 236 |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
это нужно делать в схеме кодирования HSL а не в RGB.
поищи (перебором) на форуме -- я где-то недавно именно такую тему видел. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| vaddsm |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 30.6.2007 Репутация: нет Всего: нет |
Спасибо _hunter за интерес к теме!
У меня два вопроса. Вопрос 1. Переведя RGB в HSL, для повышения насыщености я буду увеличивать значение S а затем переводить обратно в RGB. Я правильно понял? Вопрос 2. В фотошопе есть система представления цвета HSB. Это тоже самое что и HSL? А то если это так то ответ на Вопрос 1 - нет, так как я пробывал повышать значение S в HSB и результат совсем не тот что ожидался. Добавлено через 10 минут и 56 секунд Сорри, википедия не открывается есть такое государство в котором не допускается свободомыслие типа ЖЖ или вики. Зато инет у них дешевый... Но это отступление нашел ответ на Вопрос 2 - нет. Ищу ответ на Вопрос 1. |
|||
|
||||
| vaddsm |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 30.6.2007 Репутация: нет Всего: нет |
Ответ на Вопрос 1 - да. Вот линк всем жаждующим http://www.uni-vologda.ac.ru/students/lav&...sl_hsb_hsi.html
Ооооочень качественный материалец! Счаз САБЖ кодить буду. |
|||
|
||||
| vaddsm |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 30.6.2007 Репутация: нет Всего: нет |
Вот код:
так повышаем Saturation:
Но вот незадача! Как в этом коде так и в афторской статье не удается установить равнозначности между RGB и HSL, т.е. при переводе туда а потом обратно погрешность достигает 2 значений цвета, пример: RGB: 203 133 128 -> HSL: 3 108 166 -> RGB: 204 135 129 Уважаемые а ваабше достижима ли точность? |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
тут похоже сам код кривоват (возможно ILdouble как float объявлен): paint для этих двух RGB другие HSL-ы показывает.
попробуй этот: http://support.microsoft.com/kb/q29240/ код... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |