diff --git a/src/Drivers/Imagick/Modifiers/FitModifier.php b/src/Drivers/Imagick/Modifiers/FitModifier.php new file mode 100644 index 00000000..992c992a --- /dev/null +++ b/src/Drivers/Imagick/Modifiers/FitModifier.php @@ -0,0 +1,39 @@ +crop = $crop; + $this->resize = $resize; + } + + public function apply(ImageInterface $image): ImageInterface + { + foreach ($image as $frame) { + $frame->getCore()->extentImage( + $this->crop->getWidth(), + $this->crop->getHeight(), + $this->crop->getPivot()->getX(), + $this->crop->getPivot()->getY() + ); + + $frame->getCore()->scaleImage( + $this->resize->getWidth(), + $this->resize->getHeight() + ); + } + + return $image; + } +} diff --git a/src/Drivers/Imagick/Modifiers/ResizeModifier.php b/src/Drivers/Imagick/Modifiers/ResizeModifier.php new file mode 100644 index 00000000..057c848a --- /dev/null +++ b/src/Drivers/Imagick/Modifiers/ResizeModifier.php @@ -0,0 +1,30 @@ +resize = $resize; + } + + public function apply(ImageInterface $image): ImageInterface + { + foreach ($image as $frame) { + $frame->getCore()->scaleImage( + $this->resize->getWidth(), + $this->resize->getHeight() + ); + } + + return $image; + } +}