| @@ 362-382 (lines=21) @@ | ||
| 359 | ||
| 360 | // HSL (1978) = H: Hue / S: Saturation / L: Lightess |
|
| 361 | ||
| 362 | public function Hue_2_RGB($v1, $v2, $vH) |
|
| 363 | { |
|
| 364 | if ($vH < 0) { |
|
| 365 | $vH += 1; |
|
| 366 | } |
|
| 367 | if ($vH > 1) { |
|
| 368 | $vH -= 1; |
|
| 369 | } |
|
| 370 | if ((6 * $vH) < 1) { |
|
| 371 | return $v1 + ($v2 - $v1) * 6 * $vH; |
|
| 372 | } |
|
| 373 | if ((2 * $vH) < 1) { |
|
| 374 | return $v2; |
|
| 375 | } |
|
| 376 | if ((3 * $vH) < 2) { |
|
| 377 | return $v1 + ($v2 - $v1) * ((2 / 3) - $vH) * 6; |
|
| 378 | } |
|
| 379 | ||
| 380 | return $v1; |
|
| 381 | } |
|
| 382 | ||
| 383 | public function HSL_RGB($o) |
|
| 384 | { |
|
| 385 | $H = $o['H'] / 360; |
|
| @@ 3524-3543 (lines=20) @@ | ||
| 3521 | * |
|
| 3522 | * @return int |
|
| 3523 | */ |
|
| 3524 | private function hue2rgb($v1, $v2, $hue) |
|
| 3525 | { |
|
| 3526 | if ($hue < 0) { |
|
| 3527 | $hue += 1; |
|
| 3528 | } |
|
| 3529 | if ($hue > 1) { |
|
| 3530 | $hue -= 1; |
|
| 3531 | } |
|
| 3532 | if ((6 * $hue) < 1) { |
|
| 3533 | return $v1 + ($v2 - $v1) * 6 * $hue; |
|
| 3534 | } |
|
| 3535 | if ((2 * $hue) < 1) { |
|
| 3536 | return $v2; |
|
| 3537 | } |
|
| 3538 | if ((3 * $hue) < 2) { |
|
| 3539 | return $v1 + ($v2 - $v1) * ((2 / 3) - $hue) * 6; |
|
| 3540 | } |
|
| 3541 | ||
| 3542 | return $v1; |
|
| 3543 | } |
|
| 3544 | } |
|
| 3545 | ||
| 3546 | /** |
|