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.
This commit is contained in:
parent
0acb983be4
commit
689e3028bf
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue