Autor | Zpráva | ||
---|---|---|---|
návštěvník Profil * |
#1 · Zasláno: 4. 6. 2014, 00:03:22
Mohl byste mi někdo pomoci jak převést HSB (Používá např. Photoshop) na HSL?
Vzorec je úplně dole: http://codeitdown.com/hsl-hsb-hsv-color/ ale jednak matematika mi nejde a taky v tom vzorci počítají HSB a já chci HSL. Ve Phototshopu je H(ue) ve stupních 0-360, S(aturatiaon) a B(rightness) je v procentech. |
||
scheras Profil * |
#2 · Zasláno: 4. 6. 2014, 10:43:15
Nejjednodušší je použít nějaký online nástroj.
|
||
návštěvník Profil * |
#3 · Zasláno: 4. 6. 2014, 11:33:40 · Upravil/a: návštěvník
scheras:
Ale já myslím, že tam ten vzorec je: http://oi61.tinypic.com/x56ssg.jpg Zkusil jsem ale vychází mi záporné číslo: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250"> <meta name="generator" content="PSPad editor, www.pspad.com"> <title></title> </head> <script> function HSB2HSL(Hhsb,Shsb,B){ L = 0.5 * B * (2 - Shsb) Shsl = (Shsb*B)/(1-Math.abs(2*L-1) ) return {H:Hhsb, S:Shsl, L:L } } </script> <body onload="console.log(HSB2HSL(37, 5, 35))"> </body> </html> vrací Object { H=37, S=-1.6666666666666667, L=-52.5} |
||
1Pupik1989 Profil |
Chtělo by to nejdříve dočíst.
„B and S values should be in the range [0,1].“ {H: 37, S: 0.02564102564102564, L: 0.34125} function HSV2HSL(h,s,v){ var l = (2 - s) * v; return { h:h, s:(s * v)/((l <= 1) ? l : 2 - l), l:l*0.5 }; }; |
||
návštěvník Profil * |
#5 · Zasláno: 4. 6. 2014, 14:46:29 · Upravil/a: návštěvník
jo to jsem už opravil. Jen jsem zapomněl aktualizovat kód
zde |
||
Časová prodleva: 10 let
|
0