| 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: 12 let
|
|||
0