Показать сообщение отдельно
Старый 25.05.2010, 13:29   #5
Phantom
Элита
 
Аватар для Phantom
 
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений
(для 1,833 пользователей)
Ответ: Изменение параметров цвета

Там разные формулы. Нижняя граница вычисляется по формуле (MIN+MAX)/2, а граница самого насыщенного цвета зависит от нескольких факторов. Во-первых, учитывается то, что каждый из каналов не должен быть менее 0 и более 255. Сначала проверяем что меньше: MIN или (255-MAX). Берём меньшее из них, из значения минимального канала вычитаем это число, а к максимальному его прибавляем (в итоге получается, что либо минимальный станет равен нулю, либо максимальный станет равен 255, то есть за границы [0-255] ни один из них не выйдет). А вот с каналом, который лежит между значениями MIN и MAX, придётся производить отдельную содомию. Тут ща хз как описать попроще. Но короче все эти вычисления уже по коду занимают у меня места больше, чем конвертация RGB - HSV (HSL) - RGB , муть какая-то.
(Offline)
 
Ответить с цитированием