thedude
Well-known member
- Affected version
- 1.5.21
When ImageMagick is the image processor...
During the processing of an uploaded animated gif avatar, the frames of the gif get coalesced (Imagick::coalesceImages) but Imagick::deconstructImages doesn't get called after Imagick:: optimizeImageLayers gets called, resulting in a huge file size increase over the original (an order of magnitude from my personal testing on a few gifs).
I tested a fix by slipping
into XenForo_Image_ImageMagick_Pecl after the optimizeImageLayers call and the resulting gif was similar in size to the uploaded original.
References used when hunting down the issue:
http://php.net/manual/en/imagick.coalesceimages.php#110393
https://stackoverflow.com/questions...-animated-gifs-not-animated/19469380#19469380
During the processing of an uploaded animated gif avatar, the frames of the gif get coalesced (Imagick::coalesceImages) but Imagick::deconstructImages doesn't get called after Imagick:: optimizeImageLayers gets called, resulting in a huge file size increase over the original (an order of magnitude from my personal testing on a few gifs).
I tested a fix by slipping
Code:
$this->_image = $this->_image->deconstructImages();
References used when hunting down the issue:
http://php.net/manual/en/imagick.coalesceimages.php#110393
https://stackoverflow.com/questions...-animated-gifs-not-animated/19469380#19469380
Last edited: