mirror of
https://github.com/Intervention/image.git
synced 2025-08-19 20:21:32 +02:00
Simplifiy method to turn Colors into ImagickPixel
This commit is contained in:
@@ -4,17 +4,7 @@ namespace Intervention\Image\Drivers\Imagick\Traits;
|
||||
|
||||
use Imagick;
|
||||
use ImagickPixel;
|
||||
use Intervention\Image\Colors\Cmyk\Channels\Cyan;
|
||||
use Intervention\Image\Colors\Cmyk\Channels\Key;
|
||||
use Intervention\Image\Colors\Cmyk\Channels\Magenta;
|
||||
use Intervention\Image\Colors\Cmyk\Channels\Yellow;
|
||||
use Intervention\Image\Colors\Cmyk\Colorspace as CmykColorspace;
|
||||
use Intervention\Image\Colors\Cmyk\Color as CmykColor;
|
||||
use Intervention\Image\Colors\Rgb\Color as RgbColor;
|
||||
use Intervention\Image\Colors\Rgb\Channels\Alpha;
|
||||
use Intervention\Image\Colors\Rgb\Channels\Blue;
|
||||
use Intervention\Image\Colors\Rgb\Channels\Green;
|
||||
use Intervention\Image\Colors\Rgb\Channels\Red;
|
||||
use Intervention\Image\Interfaces\ColorInterface;
|
||||
use Intervention\Image\Interfaces\ColorspaceInterface;
|
||||
|
||||
@@ -59,25 +49,8 @@ trait CanHandleColors
|
||||
*/
|
||||
public function colorToPixel(ColorInterface $color, ColorspaceInterface $colorspace): ImagickPixel
|
||||
{
|
||||
$pixel = new ImagickPixel();
|
||||
$color = $color->convertTo($colorspace);
|
||||
|
||||
switch (get_class($color)) {
|
||||
case CmykColor::class:
|
||||
$pixel->setColorValue(Imagick::COLOR_CYAN, $color->channel(Cyan::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_MAGENTA, $color->channel(Magenta::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_YELLOW, $color->channel(Yellow::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_BLACK, $color->channel(Key::class)->normalize());
|
||||
break;
|
||||
|
||||
case RgbColor::class:
|
||||
$pixel->setColorValue(Imagick::COLOR_RED, $color->channel(Red::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_GREEN, $color->channel(Green::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_BLUE, $color->channel(Blue::class)->normalize());
|
||||
$pixel->setColorValue(Imagick::COLOR_ALPHA, $color->channel(Alpha::class)->normalize());
|
||||
break;
|
||||
}
|
||||
|
||||
return $pixel;
|
||||
return new ImagickPixel(
|
||||
(string) $color->convertTo($colorspace)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user