From e351b6868326138b2735d62b4a69cc0b0b60c289 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sat, 30 Oct 2021 12:16:23 +0200 Subject: [PATCH] Bugfix --- src/Drivers/Gd/Image.php | 9 +++++++++ src/Drivers/Imagick/Modifiers/GreyscaleModifier.php | 4 ++-- tests/Drivers/Gd/ImageTest.php | 7 +++++++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/Drivers/Gd/Image.php b/src/Drivers/Gd/Image.php index 751f4d4b..c3fde6eb 100644 --- a/src/Drivers/Gd/Image.php +++ b/src/Drivers/Gd/Image.php @@ -6,6 +6,7 @@ use GdImage; use Intervention\Image\Collection; use Intervention\Image\Drivers\Abstract\AbstractImage; use Intervention\Image\Drivers\Gd\Frame; +use Intervention\Image\Geometry\Resizer; use Intervention\Image\Geometry\Size; use Intervention\Image\Interfaces\EncoderInterface; use Intervention\Image\Interfaces\ImageInterface; @@ -23,4 +24,12 @@ class Image extends AbstractImage implements ImageInterface, IteratorAggregate { return imagesy($this->frames->first()->getCore()); } + + public function resize(...$arguments): self + { + $resizer = new Resizer($this->size()); + $resizer->setTargetSizeByArray($arguments)->resize(); + + return $this; + } } diff --git a/src/Drivers/Imagick/Modifiers/GreyscaleModifier.php b/src/Drivers/Imagick/Modifiers/GreyscaleModifier.php index d3452955..f5e65282 100644 --- a/src/Drivers/Imagick/Modifiers/GreyscaleModifier.php +++ b/src/Drivers/Imagick/Modifiers/GreyscaleModifier.php @@ -9,10 +9,10 @@ class GreyscaleModifier implements ModifierInterface { public function apply(ImageInterface $image): ImageInterface { - foreach ($this->image as $frame) { + foreach ($image as $frame) { $frame->getCore()->modulateImage(100, 0, 100); } - return $this->image; + return $image; } } diff --git a/tests/Drivers/Gd/ImageTest.php b/tests/Drivers/Gd/ImageTest.php index db5ddb78..b2275680 100644 --- a/tests/Drivers/Gd/ImageTest.php +++ b/tests/Drivers/Gd/ImageTest.php @@ -43,4 +43,11 @@ class ImageTest extends TestCase { $this->assertInstanceOf(Size::class, $this->image->size()); } + + public function testResize(): void + { + $this->assertInstanceOf(Image::class, $this->image->resize(function ($size) { + $size->width(300); + })); + } }