Auto Rotate Photos (follow up) Auto Rotate Photos (follow up)
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Auto Rotate Photos (follow up)

Started by ddtof, October 30, 2006, 04:00:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

ddtof

This is to follow up topic: http://forum.coppermine-gallery.net/index.php?topic=9057.0

That is now closed as related to 1.3.x, but still valid for 1.4.x

I propose the following function to be compatible with Linux and Windows:
// auto rotate using JHead
function auto_rotate_image($path_to_image) {
   $real_path_to_image = realpath($path_to_image);

   // Form the command to rotate the image.
   if (eregi("win",$_ENV['OS'])) {
       $cmd = "jhead.exe -autorot \"$real_path_to_image\"";
   } else {
       $cmd = "jhead -autorot ".$real_path_to_image;
   }

   exec ($cmd);
}


Then I do not like the idea to modify the original picture, so I propose to modify only the thumb and normal picture.
Fore that replace the
        if (!file_exists($thumb)) {
            if (!resize_image($image, $thumb, $CONFIG['thumb_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
        }
        if (max($imagesize[0], $imagesize[1]) > $CONFIG['picture_width'] && $CONFIG['make_intermediate'] && !file_exists($normal)) {
            if (!resize_image($image, $normal, $CONFIG['picture_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
        }

by
        if (!file_exists($thumb)) {
            if (!resize_image($image, $thumb, $CONFIG['thumb_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
            auto_rotate_image($thumb);
        }
        if (max($imagesize[0], $imagesize[1]) > $CONFIG['picture_width'] && $CONFIG['make_intermediate'] && !file_exists($normal)) {
            if (!resize_image($image, $normal, $CONFIG['picture_width'], $CONFIG['thumb_method'], $CONFIG['thumb_use']))
                return false;
            auto_rotate_image($normal);
        }


Don't hesitate to give me your opinion.