에티테마

PHP 하이브리드앱 웹앱에서 세로 이미지 업로드시에 자동으로 회전하는 현상 해결

페이지 정보

작성자 소프트존 쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 306회 작성일 21-02-09 15:31

본문

안녕하세요. 에티테마 소프트존 입니다.
하이브리드앱이나, 웹앱에서 이미지를 업로드 하는 경우 이미지가 자동으로 회전하는 경우가 있습니다.

리사이징 없는 이미지업로드의 경우에는 회전되지 않고 올바로 표시 됩니다만
리사이징 하는 경우 이미지가 자동으로 회전되어 가로로 표시됩니다.
리사이징 하면서 이미지의 정보 기준으로 처리하기 때문에 세로로 찍더라도 원래 가로이미지 라서 그런 현상이 나옵니다.

이를 해결하기 위해서는 아래 주소를 참고하시면 해결될 것 같습니다.

https://stackoverflow.com/questions/1201798/use-php-to-convert-png-to-jpg-with-compression



[해당 소스코드]

function CreateThumbnail($pic,$thumb,$thumbwidth, $quality = 100)

{


        $im1=ImageCreateFromJPEG($pic);


        //if(function_exists("exif_read_data")){

                $exif = exif_read_data($pic);

                if(!empty($exif['Orientation'])) {

                switch($exif['Orientation']) {

                case 8:

                    $im1 = imagerotate($im1,90,0);

                    break;

                case 3:

                    $im1 = imagerotate($im1,180,0);

                    break;

                case 6:

                    $im1 = imagerotate($im1,-90,0);

                    break;

                } 

                }

        //}

        $info = @getimagesize($pic);


        $width = $info[0];


        $w2=ImageSx($im1);

        $h2=ImageSy($im1);

        $w1 = ($thumbwidth <= $info[0]) ? $thumbwidth : $info[0]  ;


        $h1=floor($h2*($w1/$w2));

        $im2=imagecreatetruecolor($w1,$h1);


        imagecopyresampled ($im2,$im1,0,0,0,0,$w1,$h1,$w2,$h2); 

        $path=addslashes($thumb);

        ImageJPEG($im2,$path,$quality);

        ImageDestroy($im1);

        ImageDestroy($im2);

}





  • 트위터로 보내기
  • 페이스북으로 보내기
  • 구글플러스로 보내기

댓글목록

등록된 댓글이 없습니다.

카테고리

카테고리
 질문답변
팁게시판
 영카트팁
 라이브러리

프리미엄

프리미엄

영화예고편

영화예고편

최근이미지리스트

최근이미지리스트