Passed
Push — master ( 689ec5...45f08c )
by Sebastian
05:26
created

ArrayConverter   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 23
c 1
b 0
f 0
dl 0
loc 49
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A CSS() 0 7 1
A __construct() 0 3 1
A percent() 0 7 1
A eightBit() 0 7 1
A GD() 0 7 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AppUtils\RGBAColor;
6
7
use AppUtils\RGBAColor;
8
9
class ArrayConverter
10
{
11
    /**
12
     * @var RGBAColor
13
     */
14
    private $color;
15
16
    public function __construct(RGBAColor $color)
17
    {
18
        $this->color = $color;
19
    }
20
21
    public function eightBit() : array
22
    {
23
        return array(
24
            RGBAColor::CHANNEL_RED => $this->color->getRed()->get8Bit(),
25
            RGBAColor::CHANNEL_GREEN => $this->color->getGreen()->get8Bit(),
26
            RGBAColor::CHANNEL_BLUE => $this->color->getBlue()->get8Bit(),
27
            RGBAColor::CHANNEL_ALPHA => $this->color->getOpacity()->get8Bit()
28
        );
29
    }
30
31
    public function percent() : array
32
    {
33
        return array(
34
            RGBAColor::CHANNEL_RED => $this->color->getRed()->getPercent(),
35
            RGBAColor::CHANNEL_GREEN => $this->color->getGreen()->getPercent(),
36
            RGBAColor::CHANNEL_BLUE => $this->color->getBlue()->getPercent(),
37
            RGBAColor::CHANNEL_ALPHA => $this->color->getOpacity()->getPercent()
38
        );
39
    }
40
41
    public function GD() : array
42
    {
43
        return array(
44
            RGBAColor::CHANNEL_RED => $this->color->getRed()->get8Bit(),
45
            RGBAColor::CHANNEL_GREEN => $this->color->getGreen()->get8Bit(),
46
            RGBAColor::CHANNEL_BLUE => $this->color->getBlue()->get8Bit(),
47
            RGBAColor::CHANNEL_ALPHA => $this->color->getOpacity()->get7Bit()
48
        );
49
    }
50
51
    public function CSS() : array
52
    {
53
        return array(
54
            RGBAColor::CHANNEL_RED => $this->color->getRed()->get8Bit(),
55
            RGBAColor::CHANNEL_GREEN => $this->color->getGreen()->get8Bit(),
56
            RGBAColor::CHANNEL_BLUE => $this->color->getBlue()->get8Bit(),
57
            RGBAColor::CHANNEL_ALPHA => $this->color->getOpacity()->getFloat()
58
        );
59
    }
60
}
61