Помощник
|
HSB > RGB |
cyber_ua
|
Сообщение
#1
|
||
|
|
||
|
|||
cyber_ua
|
Сообщение
#2
|
|
[JS]var convert = {
hsv_rgb: function (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)]; } }; [/JS] мож кому пригодиться , все работает (сравнивал с фотошопом) |
|
|
cyber_ua
|
Сообщение
#3
|
|
все вот рабочий вариант (результаты сравнивал с photoshop), может кому пригодиться [JS]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));[/JS] в коде выше ошибка, из за нее моя клавиатура чуть не умерла=) вот правельный [JS] var convert = { hsv_rgb: function (H,S,V) { var f , p, q , t, lH; S /=100; V /=100; lH = Math.floor(H / 60); f = H/60 - lH; p = V * (1 - S); q = V *(1 - S*f); t = V* (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(convert.hsv_rgb(180,97,57)); [/JS] |
|
|
cyber_ua
|
Сообщение
#4
|
|
кстати не кто не подскажит как стандартными функциями перевести число из 10 й системы в 16ю , а то не могу вспомнить
|
|
|
Muxa_hb |
28.5.2012, 23:24;
Ответить: Muxa_hb
Сообщение
#5
|
|
[PHP]base_convert()[/PHP] (php) ?
в js не знаю |
|
|
cyber_ua
|
Сообщение
#6
|
|
|
|
|
Muxa_hb |
28.5.2012, 23:40;
Ответить: Muxa_hb
Сообщение
#7
|
|
|
:rolleyes:
все гениальное просто)))
|
|
|
||
|
Текстовая версия | Сейчас: 19.4.2024, 14:10 |