From a468c06598846f9bf2995f61335b9486cf95a27e Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sun, 5 Nov 2023 10:56:01 +0100 Subject: [PATCH] Simplifiy method to turn Colors into ImagickPixel --- .../Imagick/Traits/CanHandleColors.php | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/src/Drivers/Imagick/Traits/CanHandleColors.php b/src/Drivers/Imagick/Traits/CanHandleColors.php index c1a583f1..bca8f961 100644 --- a/src/Drivers/Imagick/Traits/CanHandleColors.php +++ b/src/Drivers/Imagick/Traits/CanHandleColors.php @@ -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) + ); } }