아이폰에서 세로로 찍은 사진의 등록정보를 보면

가로와 세로가 바껴있다.

이 사진을 서버에 올리면 가로 이미지로 인식을 하게 되는데,

이건 사진 exif 들어있는 Orientation 정보를 확인해서 바로 잡아주면 된다.

Orientation은 1 ~ 8까지 총 8가지가 있고, 수정해 줘야 되는 경우는

3, 6, 8 세가지다
. 1 빼고는 모두 수정해 줘야 한다

http://www.impulseadventure.com/photo/exif-orientation.html  참조

php 예제
$exifData = exif_read_data($upfile);
        if($exifData['Orientation'] == 6) {
            // 시계방향으로 90도 돌려줘야 정상
            $degree = 90;
        }
        else if($exifData['Orientation'] == 8) {
            // 반시계방향으로 90도 돌려줘야 정상
            $degree = -90;
           
        }
        else if($exifData['Orientation'] == 3) {
            $degree = 180;
        }
       
        if($degree) {
            if($tmp_file[2] == 1) {
                $source = imagecreatefromgif($upfile);
                $source = imagerotate ($source , $degree, 0);
                imagegif($source, $originalPath . '/' . $upfile);
            }
            else if($tmp_file[2] == 2) {
                $source = imagecreatefromjpeg($upfile);
                $source = imagerotate ($source , $degree, 0);
                imagejpeg($source, $originalPath . '/' . $upfile);
            }
            else if($tmp_file[2] == 3) {
                $source = imagecreatefrompng($upfile);
                $source = imagerotate ($source , $degree, 0);
                imagepng($source, $originalPath . '/' . $upfile);
            }

            imagedestroy($source);
        }

추가 :  1 빼고는 모두 수정해야 된다
http://techbirds.in/image-resizing-with-php-exif-orientation/
여기 더 정확한 정보 및 함수가 있다

Image resizing with php exif orientation

I have been working on a project recently that has incorporated an upload mechanic for images uploaded to our website. The images are then resiged and flipped into a different dimension when i used in  ipad. To solve this problem i found EXIF.

EXIF is a way of reading an image and returning the information determining the exact orientation of an image, what device the image was taken on etc..

The below code is the function I used in order to create my images to fit into a particular dimension.

 

The switch statement is used to look at a particular EXIF orientation and perform the required processing before the image is written to its destination. To flip the image we just use the function below.

Now all we need to do is call the function by passing a dimension that we want the image to fit into, the source and destination and also the file type of the source image.

Posted by incree

2012/10/23 16:03 2012/10/23 16:03
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/168

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다

<activity android:name=".youractivity"
                  android:label="@string/app_
name"
                  android:configChanges="orientation|keyboardHidden">


참고 : http://www.androidpub.com/742429

Posted by incree

2011/11/29 17:33 2011/11/29 17:33
,
Response
0 Trackbacks , 0 Comments
RSS :
http://www.incree.com/tc/incree/rss/response/72

Trackback URL : 이 글에는 트랙백을 보낼 수 없습니다