@@ 40-55 (lines=16) @@ | ||
37 | * @param array $color The color in question |
|
38 | * @return string The color type as a string, returns 'error' if $color is invalid |
|
39 | */ |
|
40 | public static function _array(array $color) :string { |
|
41 | $color = array_change_key_case($color); |
|
42 | unset($color['a']); // ignore alpha channel |
|
43 | ksort($color); |
|
44 | $type = implode('', array_keys($color)); |
|
45 | $types = [ |
|
46 | 'bgr' => 'rgb', |
|
47 | 'hls' => 'hsl', |
|
48 | 'bhs' => 'hsb', |
|
49 | 'ckmy' => 'cmyk' |
|
50 | ]; |
|
51 | if (isset($types[$type])) { |
|
52 | return $types[$type]; |
|
53 | } |
|
54 | return 'error'; |
|
55 | } |
|
56 | } |
|
57 |
@@ 140-155 (lines=16) @@ | ||
137 | * @param array $color The color in question |
|
138 | * @return string The color type as a string, returns 'error' if $color is invalid |
|
139 | */ |
|
140 | protected static function _get_array_type(array $color) :string { |
|
141 | $color = array_change_key_case($color); |
|
142 | unset($color['a']); // ignore alpha channel |
|
143 | ksort($color); |
|
144 | $type = implode('', array_keys($color)); |
|
145 | $types = [ |
|
146 | 'bgr' => 'rgb', |
|
147 | 'hls' => 'hsl', |
|
148 | 'bhs' => 'hsb', |
|
149 | 'ckmy' => 'cmyk' |
|
150 | ]; |
|
151 | if (isset($types[$type])) { |
|
152 | return $types[$type]; |
|
153 | } |
|
154 | return 'error'; |
|
155 | } |
|
156 | ||
157 | /** |
|
158 | * Get (and set) the alpha channel |
@@ 40-55 (lines=16) @@ | ||
37 | * @param array $color The color in question |
|
38 | * @return string The color type as a string, returns 'error' if $color is invalid |
|
39 | */ |
|
40 | public static function _array(array $color) :string { |
|
41 | $color = array_change_key_case($color); |
|
42 | unset($color['a']); // ignore alpha channel |
|
43 | ksort($color); |
|
44 | $type = implode('', array_keys($color)); |
|
45 | $types = [ |
|
46 | 'bgr' => 'rgb', |
|
47 | 'hls' => 'hsl', |
|
48 | 'bhs' => 'hsb', |
|
49 | 'ckmy' => 'cmyk' |
|
50 | ]; |
|
51 | if (isset($types[$type])) { |
|
52 | return $types[$type]; |
|
53 | } |
|
54 | return 'error'; |
|
55 | } |
|
56 | ||
57 | public static function _object($color) :string { |
|
58 | if (is_object($color) && is_a($color, __NAMESPACE__.'\\store')) { |