From 4be14783cf3d8a2470ac2ff2340ed13a025b07f5 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sun, 28 Nov 2021 19:31:06 +0100 Subject: [PATCH] Resize Modifiers --- src/Drivers/Imagick/Modifiers/FitModifier.php | 39 +++++++++++++++++++ .../Imagick/Modifiers/ResizeModifier.php | 30 ++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 src/Drivers/Imagick/Modifiers/FitModifier.php create mode 100644 src/Drivers/Imagick/Modifiers/ResizeModifier.php 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; + } +}