![]() |
|
||||||||||
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
это скорее к вопросу о том как убить время :)))
тут недавно (месяц назад может... :) ) кто-то спрашивал как перевести код цвета из системы Hue - Saturation - Blur (или что то же самое Hue - Saturation - Luminance ) в систему Red - Green - Blue так вот... озадачившись вопросом убийства времени я нашел алгоритм :)) (это было просто на самом деле =)) ) он был написан на каком-то допотопном языке и я перевел его в ЭкшнСкрипт... мож кому-нить понадобится... hsl = function (h, s, l) {
var m1, m2;
m2 = l<=0.5 ? l*(s+1) : (l+s-l*s);
m1 = l*2-m2;
r = Math.round(hue(m1, m2, h+1/3)*255);
g = Math.round(hue(m1, m2, h)*255);
b = Math.round(hue(m1, m2, h-1/3)*255);
return (r << 16 | g << 8 | b);
};
hue = function (m1, m2, h) {
if (h<0) {
h += 1;
}
if (h>1) {
h -= 1;
}
if (h*6<1) {
return m1+(m2+m1)*h*6;
} else if (h*2<1) {
return m2;
} else if (h*3<2) {
return m1+(m2-m1)*(2/3-h)*6;
}
return m1;
};
//
// для теста это LightGreen:
// 33%H (т.е. 80 по шкале от нуля до 240)
// 100%S (т.е. полная насыщенность)
// 75%L (т.е. 180 по шкале от нуля до 240)
trace(hsl(.33, 1, .75));
// получаем 8585088 или 0x82FF80, что вполне соответствует истине
в функции hsl - все параметры в процентах... то есть 240 - это 1, 120 - это .5 и т д ...шкала H от нуля до 240, потому что речь идет о круговом изображении радуги и 360==0 - это красный цвет почему шкалы S и L тоже от нуля до 240 - я не врубился... ведь S - в процентах количество серого (100%S - это полная насыщенность цвета указанного в Hue, а 0%S - это серый цвет) L - количество белого в процентах (50%L - нормальная яркость) зы: несмотря на то, что я понимаю что такое HSL и что такое RGB я абсолютно не понимаю закономерности... 8))) но работает, блин... =) Последний раз редактировалось Nox Noctis; 10.09.2002 в 23:19. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
...а вы говорите как убить время, как убить время... %)))
http://www.concrete-mixer.pisem.net/spinning_hex.html http://www.concrete-mixer.pisem.net/spinning_trio.html ...все сделано скриптом, хотя конечно можно было и не извращаться так :) сижу вот и думаю: а нафига это ? :))) |
|
|||||
|
Ух ты!!!
Это я задавал вопрос. :-) Тогда мне никто не ответил и мне пришлось отложить решение моей проблемы :-). А на твой ответ я наткнулся совершенно случайно. Большое спасибо.
__________________
Это подпись. |
|
|||||
|
Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
|
Я бы спросил RGB 2 HSL, мне для flashpainter'а нужен (ссылка в подписи). Нет такого?
|
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
ну йопт...
стоило только поискать... ![]() ...хотя искал я канеш совсем не это из RGB в HSB и обратно из RGB в CMYK и обратно |
![]() |
Часовой пояс GMT +4, время: 09:55. |
|
|
« Предыдущая тема | Следующая тема » |
|
|