News:

CPG Release 1.6.29
During HTML5 upload, keep pseudo blank code 200 messages from triggering error condition
added Russian language
correct failure to use theme menu icons in album manager
minor vulnerabilities mitigation

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://coppermine-gallery.com/forum/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.