58 Zeilen
1.1 KiB
PHP
58 Zeilen
1.1 KiB
PHP
|
<?php
|
||
|
declare(strict_types = 1);
|
||
|
|
||
|
namespace BaconQrCode\Renderer\Color;
|
||
|
|
||
|
use BaconQrCode\Exception;
|
||
|
|
||
|
final class Alpha implements ColorInterface
|
||
|
{
|
||
|
/**
|
||
|
* @var int
|
||
|
*/
|
||
|
private $alpha;
|
||
|
|
||
|
/**
|
||
|
* @var ColorInterface
|
||
|
*/
|
||
|
private $baseColor;
|
||
|
|
||
|
/**
|
||
|
* @param int $alpha the alpha value, 0 to 100
|
||
|
*/
|
||
|
public function __construct(int $alpha, ColorInterface $baseColor)
|
||
|
{
|
||
|
if ($alpha < 0 || $alpha > 100) {
|
||
|
throw new Exception\InvalidArgumentException('Alpha must be between 0 and 100');
|
||
|
}
|
||
|
|
||
|
$this->alpha = $alpha;
|
||
|
$this->baseColor = $baseColor;
|
||
|
}
|
||
|
|
||
|
public function getAlpha() : int
|
||
|
{
|
||
|
return $this->alpha;
|
||
|
}
|
||
|
|
||
|
public function getBaseColor() : ColorInterface
|
||
|
{
|
||
|
return $this->baseColor;
|
||
|
}
|
||
|
|
||
|
public function toRgb() : Rgb
|
||
|
{
|
||
|
return $this->baseColor->toRgb();
|
||
|
}
|
||
|
|
||
|
public function toCmyk() : Cmyk
|
||
|
{
|
||
|
return $this->baseColor->toCmyk();
|
||
|
}
|
||
|
|
||
|
public function toGray() : Gray
|
||
|
{
|
||
|
return $this->baseColor->toGray();
|
||
|
}
|
||
|
}
|