перевод из HSB в RGB
нужно написать скриптик перевода из HSB в RGB, вот нашел формулу для HSV > RGB .
не могу понять чем отличается HSB/HSL/HSV и подходит ли эта формула для всех 3х случаев |
|
Цитата:
Цитата:
|
Цитата:
|
Понять вам сможет помочь только ваш собственный мозг. Увы, я не смогу вам его телепатическими лучами настроить на правильный лад.
|
Цитата:
Цитата:
|
распишу по порядку что бы было понятней , что не понятно мне..
эту строку я понимаю ![]() тут делем на 60 потому что шкала HUE состоит из 6 частей, значение этой строки понять не могу ![]() и проблемы с пониманием : ![]() ![]() ![]() |
Цитата:
сравнивал с adobe photoshop |
вроде получилось но проблема c q почему воозвращает не правильное значение
http://learn.javascript.ru/play/FJMYG |
все вот рабочий вариант (результаты сравнивал с photoshop), может кому пригодиться
function HSVtoRgb (H, S, V) { var f , p, q , t, lH; S = (S > 1 )? S/100 : S; V = (V > 1)? V/100 : V; lH = parseInt (H / 60); f = H/60 - lH; p = V * (1 - S); q = V *(1 - S*f); t = (1 - (1-f)* S); switch (lH) { case 0: R = V; G = t; B = p; break; case 1: R = q; G = V; B = p; break; case 2: R = p; G = V; B = t; break; case 3: R = p; G = q; B = V; break; case 4: R = t; G = p; B = V; break; case 5: R = V; G = p; B = q; break;} return [parseInt(R*255), parseInt(G*255), parseInt(B*255)]; } alert(HSVtoRgb(330, 10,20)); |
Часовой пояс GMT +3, время: 03:18. |