summaryrefslogtreecommitdiff
path: root/inc
diff options
context:
space:
mode:
authorMichael Foster <savetheinternet@tinyboard.org>2013-08-01 04:24:34 -0400
committerMichael Foster <savetheinternet@tinyboard.org>2013-08-01 04:24:34 -0400
commit22f3a95e0e421de05a11633eac846df96a2a4768 (patch)
tree32dfbcbad3bb8de9e9c070a9d14e33713592755c /inc
parent4851d4cabeebdd72764e75fe8d51f45c0e436c32 (diff)
convert+gifscale didn't respect $config['thumb_keep_animation_frames']
Diffstat (limited to 'inc')
-rw-r--r--inc/config.php7
-rw-r--r--inc/image.php5
2 files changed, 7 insertions, 5 deletions
diff --git a/inc/config.php b/inc/config.php
index 75384d3f..cec996c1 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -412,9 +412,9 @@
// Thumbnail extension, empty for inherited (png recommended)
$config['thumb_ext'] = 'png';
- // EXPERIMENTAL:
// Maximum amount of frames to resize (more frames means more processing power). "1" means no animated thumbnails.
- // Requires $config['thumb_ext'] to be 'gif' $config['imagick'] to be enabled.
+ // Requires $config['thumb_ext'] to be 'gif' and $config['thumb_method'] to be 'imagick', 'convert', or 'convert+gifsicle'.
+ // Not respected by 'convert'; will just resize all frames if this is > 1.
$config['thumb_keep_animation_frames'] = 1;
// Thumbnailing method:
@@ -426,8 +426,7 @@
// PHP Imagick.
// - 'convert+gifsicle' Same as above, with the exception of using `gifsicle` (command line application)
// instead of `convert` for resizing gifs. It's faster and resulting animated gifs
- // have less artifacts than if resized with ImageMagick.
-
+ // have less artifacts than if resized with ImageMagick.
$config['thumb_method'] = 'gd';
// Strip EXIF metadata from JPEG files
diff --git a/inc/image.php b/inc/image.php
index c39d7694..5910cb85 100644
--- a/inc/image.php
+++ b/inc/image.php
@@ -282,10 +282,13 @@ class ImageConvert extends ImageBase {
$quality = $config['thumb_quality'] * 10;
+ $config['thumb_keep_animation_frames'] = (int) $config['thumb_keep_animation_frames'];
+
if ($this->format == 'gif' && ($config['thumb_ext'] == 'gif' || $config['thumb_ext'] == '') && $config['thumb_keep_animation_frames'] > 1) {
if ($this->gifsicle) {
if (shell_exec("gifsicle --unoptimize -O2 --resize {$this->width}x{$this->height} < " .
- escapeshellarg($this->src . '') . " > " . escapeshellarg($this->temp)) || !file_exists($this->temp))
+ escapeshellarg($this->src . '') . " \"#0-{$config['thumb_keep_animation_frames']}\" > " .
+ escapeshellarg($this->temp)) || !file_exists($this->temp))
error('Failed to resize image!');
} else {
if (shell_exec("convert -background transparent -filter Point -sample {$this->width}x{$this->height} +antialias -quality {$quality} " .