Don't redraw image again after correcting image orientation; Correct image orientation with convert+gifsicle too

This commit is contained in:
Michael Foster 2013-08-01 21:28:16 -04:00
parent 6c41037377
commit 40ab2e0c17
2 changed files with 8 additions and 6 deletions

View File

@ -251,9 +251,9 @@ class ImageConvert extends ImageBase {
if (!$this->temp) { if (!$this->temp) {
if ($config['strip_exif']) { 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 { } else {
shell_exec('convert ' . escapeshellarg($this->src) . ' ' . escapeshellarg($src)); shell_exec('convert ' . escapeshellarg($this->src) . ' -auto-orient ' . escapeshellarg($src));
} }
} else { } else {
rename($this->temp, $src); rename($this->temp, $src);

View File

@ -450,13 +450,15 @@ if (isset($_POST['delete'])) {
if ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg') { if ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg') {
// The following code corrects the image orientation. // The following code corrects the image orientation.
// Currently only works with the 'convert' option selected but it could easily be expanded to work with the rest if you can be bothered. // Currently only works with the 'convert' option selected but it could easily be expanded to work with the rest if you can be bothered.
if ($config['thumb_method'] == 'convert') { if (!($config['redraw_image'] || ($config['strip_exif'] && ($post['extension'] == 'jpg' || $post['extension'] == 'jpeg')))) {
if ($config['thumb_method'] == 'convert' || $config['thumb_method'] == 'convert+gifsicle') {
$exif = exif_read_data($upload); $exif = exif_read_data($upload);
if (isset($exif['Orientation']) && $exif['Orientation'] != 1) { if (isset($exif['Orientation']) && $exif['Orientation'] != 1) {
shell_exec('convert ' . escapeshellarg($upload) . ' -auto-orient ' . escapeshellarg($upload)); shell_exec('convert ' . escapeshellarg($upload) . ' -auto-orient ' . escapeshellarg($upload));
} }
} }
} }
}
// create image object // create image object
$image = new Image($upload, $post['extension']); $image = new Image($upload, $post['extension']);