From cc0b332b03eb563a63fb357dcb28f6aa66df621e Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sat, 11 Jan 2025 09:04:25 +0100 Subject: [PATCH] Refactor driver version detection --- src/Drivers/Imagick/Modifiers/CropModifier.php | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/Drivers/Imagick/Modifiers/CropModifier.php b/src/Drivers/Imagick/Modifiers/CropModifier.php index e5e1421c..0b9df68d 100644 --- a/src/Drivers/Imagick/Modifiers/CropModifier.php +++ b/src/Drivers/Imagick/Modifiers/CropModifier.php @@ -5,6 +5,7 @@ namespace Intervention\Image\Drivers\Imagick\Modifiers; use Imagick; +use Intervention\Image\Drivers\Imagick\Driver; use Intervention\Image\Interfaces\ImageInterface; use Intervention\Image\Interfaces\SpecializedInterface; use Intervention\Image\Modifiers\CropModifier as GenericCropModifier; @@ -47,7 +48,9 @@ public function apply(ImageInterface $image): ImageInterface if ($frame->native()->getImageAlphaChannel()) { $canvas->compositeImage( $frame->native(), - $this->imagemagickMajorVersion() <= 6 ? Imagick::COMPOSITE_DSTIN : Imagick::COMPOSITE_COPYOPACITY, + version_compare(Driver::version(), '7.0.0', '>=') ? + Imagick::COMPOSITE_COPYOPACITY : + Imagick::COMPOSITE_DSTIN, ($crop->pivot()->x() + $this->offset_x) * -1, ($crop->pivot()->y() + $this->offset_y) * -1, ); @@ -62,13 +65,4 @@ public function apply(ImageInterface $image): ImageInterface return $image; } - - private function imagemagickMajorVersion(): int - { - if (preg_match('/^ImageMagick (?P[0-9]+)\./', Imagick::getVersion()['versionString'], $matches) != 1) { - return 0; - } - - return intval($matches['major']); - } }