Использование браузера Safari для мобильных устройств с IOS6, функция загрузки файлов дает пользователям возможность фотографировать. К сожалению, при щелчке фотографии, в то время как палец фотографии отображается правильно в браузере, при загрузке на сервер файл поворачивается на 90 градусов. Это, по-видимому, связано с данными exif, которые устанавливает iphone. У меня есть код, который фиксирует ориентацию, поворачивая изображение при обслуживании. Тем не менее, я подозреваю, что было бы лучше сохранить вращающееся, правильно ориентированное изображение, поэтому мне больше не нужно беспокоиться о ориентации. Многие из моих других фотографий даже не содержат exif-данных, и я не хочу возиться с ними, если я могу избежать этого.
Может ли кто-нибудь предложить код для сохранения изображения, чтобы он был правильно ориентирован?
Вот код, который вращает изображение. Следующий код отобразит правильно ориентированное изображение, однако я хочу сохранить его, чтобы я мог его обслуживать, когда захочу, не беспокоясь о ориентации.
Также я хотел бы заменить вызов impagejpeg
в коде ниже, чтобы любой код работал как с gif, так и с jpg.
Спасибо за предложения / код!
PHP
//Here is sample image after uploaded to server and moved to a directory $target = "pics/779_pic.jpg"; $source = imagecreatefromstring(file_get_contents($target)); $exif = exif_read_data($target); if(!empty($exif['Orientation'])) { switch($exif['Orientation']) { case 8: $image = imagerotate($source,90,0); //echo 'It is 8'; break; case 3: $image = imagerotate($source,180,0); //echo 'It is 3'; break; case 6: $image = imagerotate($source,-90,0); //echo 'It is 6'; break; } } // $image now contains a resource with the image oriented correctly //This is where I want to save resource properly oriented instead of display. header('Content-type: image/jpg'); imagejpeg($image); ?>