forum.coppermine-gallery.net

Support => cpg1.4.x Support => Older/other versions => cpg1.4 miscellaneous => Topic started by: ddtof on October 30, 2006, 04:00:30 pm

Title: Auto Rotate Photos (follow up)
Post by: ddtof on October 30, 2006, 04:00:30 pm
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:
Code: [Select]
// 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
Code: [Select]
        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
Code: [Select]
        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.