4

私はPHP Webサイトを開発しています。ポートレートモードでiPadから撮影した写真をアップロードすると、Webサイトに横向きに表示されますが、コンピューターからまったく同じ写真をアップロードすると(写真に変更はありません)、ランドスケープ モードで正しく表示されます。すべての横向きの写真は、横向きで問題なく表示されます。

私はこれを修正する方法を見つけようとし、EXIF データから向きを取得する方法を読みましたが、「向き」タグは実際には常に同じです (私の記憶が正しければ 1)。肖像画。

ipad からポートレート写真を flickr にアップロードしようとしましたが、ポートレート モードで正しく表示されます。

ありがとう。

4

1 に答える 1

2

http://www.php.net/manual/en/function.exif-read-data.php#110894から 引用: gmail dot com の chadsmith729。

私はこのソリューションを自分でテストしていません..

<?php
$image = imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));
$exif = exif_read_data($_FILES['image_upload']['tmp_name']);
if(!empty($exif['Orientation'])) {
    switch($exif['Orientation']) {
        case 8:
            $image = imagerotate($image,90,0);
            break;
        case 3:
            $image = imagerotate($image,180,0);
            break;
        case 6:
            $image = imagerotate($image,-90,0);
            break;
    }
}
// $image now contains a resource with the image oriented correctly
?>

これは、すべての Apple 製品 (iPod、iPhone、および iPad) で動作するはずです。

于 2013-02-24T09:00:24.563 に答える