From ab55fbb04013b88886311330e70cacddea758b1c Mon Sep 17 00:00:00 2001 From: Babichev Maxim Date: Fri, 7 Jun 2019 18:04:55 +0300 Subject: [PATCH 1/2] added the $format parameter to the save method --- src/Intervention/Image/Image.php | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/Intervention/Image/Image.php b/src/Intervention/Image/Image.php index 2c4d3140..7d5a59b7 100644 --- a/src/Intervention/Image/Image.php +++ b/src/Intervention/Image/Image.php @@ -126,9 +126,10 @@ class Image extends File * * @param string $path * @param int $quality + * @param string $format * @return \Intervention\Image\Image */ - public function save($path = null, $quality = null) + public function save($path = null, $quality = null, $format = null) { $path = is_null($path) ? $this->basePath() : $path; @@ -138,7 +139,11 @@ class Image extends File ); } - $data = $this->encode(pathinfo($path, PATHINFO_EXTENSION), $quality); + if ($format === null) { + $format = pathinfo($path, PATHINFO_EXTENSION); + } + + $data = $this->encode($format, $quality); $saved = @file_put_contents($path, $data); if ($saved === false) { From dcae042e714de9827a1b977085c73c1ed0ffd5fc Mon Sep 17 00:00:00 2001 From: Babichev Maxim Date: Mon, 10 Jun 2019 11:07:42 +0300 Subject: [PATCH 2/2] add test unit --- tests/ImageTest.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/ImageTest.php b/tests/ImageTest.php index 79a387af..870658cf 100644 --- a/tests/ImageTest.php +++ b/tests/ImageTest.php @@ -1,6 +1,7 @@ new Intervention\Image\Imagick\Driver()]; + $manager = new ImageManager($config); + + $image = $manager->make('data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'); + $this->assertInstanceOf('Intervention\Image\Image', $image); + $this->assertInstanceOf('Imagick', $image->getCore()); + + $gifCore = $image->getCore(); + $this->assertEquals($gifCore->getImageMimeType(), 'image/gif'); + $image->save($save_as, null, 'jpg'); + + $this->assertEquals(\mime_content_type($save_as), 'image/jpeg'); + @unlink($save_as); + } + public function testIsEncoded() { $image = $this->getTestImage();