Not resizing gif images.

See - https://github.com/Intervention/image/issues/176

Fixes #223

Signed-off-by: Abijeet <abijeetpatro@gmail.com>
This commit is contained in:
Abijeet 2018-03-19 01:44:33 +05:30
parent c44c42103c
commit bf8dddd99c

View File

@ -170,6 +170,15 @@ class ImageService extends UploadService
return $image->path; return $image->path;
} }
/**
* Checks if the image is a gif. Returns true if it is, else false.
* @param Image $image
* @return boolean
*/
protected function isGif(Image $image) {
return strtolower(pathinfo($this->getPath($image), PATHINFO_EXTENSION)) === 'gif';
}
/** /**
* Get the thumbnail for an image. * Get the thumbnail for an image.
* If $keepRatio is true only the width will be used. * If $keepRatio is true only the width will be used.
@ -184,6 +193,10 @@ class ImageService extends UploadService
*/ */
public function getThumbnail(Image $image, $width = 220, $height = 220, $keepRatio = false) public function getThumbnail(Image $image, $width = 220, $height = 220, $keepRatio = false)
{ {
if ($keepRatio && $this->isGif($image)) {
return $this->getPublicUrl($this->getPath($image));
}
$thumbDirName = '/' . ($keepRatio ? 'scaled-' : 'thumbs-') . $width . '-' . $height . '/'; $thumbDirName = '/' . ($keepRatio ? 'scaled-' : 'thumbs-') . $width . '-' . $height . '/';
$imagePath = $this->getPath($image); $imagePath = $this->getPath($image);
$thumbFilePath = dirname($imagePath) . $thumbDirName . basename($imagePath); $thumbFilePath = dirname($imagePath) . $thumbDirName . basename($imagePath);