IOS6 で safari モバイル ブラウザーを使用すると、ファイル アップロード機能により、ユーザーは写真を撮ることができます。残念ながら、写真をスナップすると、写真のサムはブラウザーに正しく表示されますが、サーバーにアップロードすると、ファイルが 90 度回転します。これは、iPhone が設定する exif データが原因のようです。提供時に画像を回転させて向きを修正するコードがあります。ただし、向きを気にする必要がないように、回転した適切な向きの画像を保存したほうがよいのではないかと思います。私の他の写真の多くには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);
?>