

表題の件に関してですが、

iPhoneのカメラで撮った画像が反転してしまうのを修正するために調べると  
phpの `exif_read_data` でexif情報を読み込み、修正できるとあったので  
やってみているのですが、なかなかうまくできず質問させて頂きます。

phpマニュアルで `exif_read_data` を調べ、コードを書いてみました。

ただし、下記のコードで最終的に$imageに回転が修正された  
画像データが入っているとあるのですが、

[code]

    header('Content-Type: image/jpeg');
    imagepng($image);
    imagedestroy($image);
    
[/code]

こちらを書いてページをリロードした時に画面が真っ黒になり、真ん中に小さく白線の四角形が表示されてしまいます。。。  
`header('Content-Type: image/jpeg');` を書いてリロードした時点で上記の状態になってしまうようです。

[code]

    $photo = "../../images/".$photo['name'];
    
    $image = imagecreatefromstring(file_get_contents($photo));
    
    $exif = exif_read_data($photo);
    
    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;
        }
    }
    
[/code]

フレームワークやライブラリなどは何も使用しておらず、使用せずにできればと考えております。

初歩的な質問で恐縮ですが、、、よろしくお願いします。


CC BY-SA 4.0
2020-02-01T16:28:14.597
62700
2020-02-01T20:37:22.660
2020-02-01T17:23:33.547
3060
36071
question
php
phpで画像のExif情報（回転方向）を修正