Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/primal/color/lib/Primal/Color/HSVColor.php
Строк: 29
<?php 

namespace PrimalColor;

class 
HSVColor extends Color {
    public 
$hue 0;
    public 
$saturation 0;
    public 
$value 0;
    public 
$alpha 1;
    
    function 
__construct($h 0$s 0$v 0$a=1) {
        
$this->hue        $h;
        
$this->saturation $s;
        
$this->value      $v;
        
$this->alpha      $a;
    }
    
    function 
toHSV() {
        return clone 
$this;
    }
    
    function 
toHSL() {
        return 
$this->toRGB()->toHSL();
    }
    
    function 
toCMYK() {
        return 
$this->toRGB()->toCMYK();
    }
    
    function 
toRGB() {
        
$h = ($this->hue        360) / 360;
        
$s = ($this->saturation 101) / 100;
        
$v = ($this->value      101) / 100;
        
$a $this->alpha;
        
        
$i $h 6;
        
$f $h $i;
        
$p $v * ($s);
        
$q $v * ($f $s);
        
$t $v * (- ($f) * $s);
        switch (
$i 6) {
        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 new 
RGBColor($r 255$g 255$b 255$a);
    }
    
    function 
toCSS($alpha null) {
        return ((
$alpha === true || $this->alpha 1) && $alpha !== false) ? "hsla({$this->hue}{$this->saturation}{$this->value}{$this->alpha})" "hsl({$this->hue}{$this->saturation}{$this->value})";
    }
    
}
Онлайн: 1
Реклама