Passed
Push — master ( 972276...b42e20 )
by Clément
23s
created

DominantColorConverter::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Toothless\TinyImage\Converter;
4
5
use Toothless\TinyImage\Extractor\DominantColorExtractorInterface;
6
use Toothless\TinyImage\Provider\ContentProviderInterface;
7
8
/**
9
 * Class DominantColorConverter
10
 */
11
class DominantColorConverter implements ConverterInterface
12
{
13
    /**
14
     * @var DominantColorExtractorInterface
15
     */
16
    private $extractor;
17
18
    /**
19
     * DominantColorConverter constructor.
20
     *
21
     * @param DominantColorExtractorInterface $extractor
22
     */
23
    public function __construct(DominantColorExtractorInterface $extractor)
24
    {
25
        $this->extractor = $extractor;
26
    }
27
28
    /**
29
     * {@inheritdoc}
30
     */
31
    public function convert(ContentProviderInterface $provider)
32
    {
33
        $hexColor = $this->extractor->extract($provider->getContent());
34
35
        $gif = <<<GIF
36
47494638396101000100800100{$hexColor}0000002c00000000010001000002024401003b
37
GIF;
38
39
        return base64_encode(
40
            hex2bin($gif)
41
        );
42
    }
43
}
44