summaryrefslogtreecommitdiff
path: root/inc/image.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/image.php')
-rw-r--r--inc/image.php10
1 files changed, 7 insertions, 3 deletions
diff --git a/inc/image.php b/inc/image.php
index 99c10252..51db2f83 100644
--- a/inc/image.php
+++ b/inc/image.php
@@ -173,6 +173,7 @@ class ImageImagick extends ImageBase {
}
}
public function to($src) {
+ global $config;
if ($config['strip_exif']) {
$this->image->stripImage();
}
@@ -250,9 +251,9 @@ class ImageConvert extends ImageBase {
if (!$this->temp) {
if ($config['strip_exif']) {
- shell_exec('convert ' . escapeshellarg($this->src) . ' -strip ' . escapeshellarg($src));
+ shell_exec('convert ' . escapeshellarg($this->src) . ' -auto-orient -strip ' . escapeshellarg($src));
} else {
- shell_exec('convert ' . escapeshellarg($this->src) . ' ' . escapeshellarg($src));
+ shell_exec('convert ' . escapeshellarg($this->src) . ' -auto-orient ' . escapeshellarg($src));
}
} else {
rename($this->temp, $src);
@@ -281,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} " .