다른분의 문의로 우연찮게 카르마님의 이미지 프로세스 모듈을 사용해 보고 있습니다. 기능 중에는 아이폰 등에서 찍은 사진이 세로로 회전되어 있을때 바로 잡아주는 기능이 있는데요. 그런데 이 기능을 사용해도 세로로 보이는 방향을 바로 잡아주지 않더라고요.

 

그래서 관련 코드를 들여다봤더니 아래와 같은 설정으로 되어있습니다.

imageprocess.model.php GDrotate()

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;
}

 

제 아이폰에 세로로 찍혀져 있는 사진을 올리면 코드의 디버깅 결과 Orientation 값이 6으로 나옵니다. 그런데 위 코드에서 6은 -90으로 되어 있어요. 이것이 바른 것인지가 궁금합니다. 6으로 되어 있다는 것은 1로 돌려야지 정상적으로 보이기 때문에 각도가 90도나 0도 처리 되어야 할 듯 싶고 실제 -90을 0으로 바꾸니 문제가 해결 되었습니다.

 

164900a61b7f42cffd35824d00ca3d16.jpg

 

이 문제는 ImageMagick에서는 보이지 않고 오직 GD 사용에서만 나타납니다.