From 689e3028bfc18438ce5681a2b2c92d3f0686b0d9 Mon Sep 17 00:00:00 2001 From: Domovoy Date: Sun, 22 Jul 2012 15:24:41 +0200 Subject: [PATCH] Use getImageFormat to know the image format in the constructor. Since we don't load the image with Imagick constructor, we need to use the [get|set]imageXXX methods. We should be able to handle the image as if it was loaded from Imagick constructor, so that we don't get lost between the image and its frames. Also added a debug log so that we get some info on unhandled mime types. --- include/Photo.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/Photo.php b/include/Photo.php index c8a0ac1198..bba4603562 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -47,7 +47,7 @@ class Photo { $this->image->readImageBlob($data); // If it is a gif, it may be animated, get it ready for any future operations - if($this->image->getFormat() !== "GIF") $this->image = $this->image->coalesceImages(); + if($this->image->getImageFormat() !== "GIF") $this->image = $this->image->coalesceImages(); $this->ext = strtolower($this->image->getImageFormat()); } else { @@ -460,8 +460,10 @@ class Photo { $quality = get_config('system','jpeg_quality'); if((! $quality) || ($quality > 100)) $quality = JPEG_QUALITY; - if($this->is_imagick()) + if($this->is_imagick()) { $this->image->setImageFormat('jpeg'); + logger('Photo: imageString: Unhandled mime type ('. $this->getType() .'), Imagick format is "'. $this->image->getImageFormat() .'"', LOGGER_DEBUG); + } else imagejpeg($this->image,NULL,$quality); }