CI 묻고 답하기

제목 이미지가 눕혀져서 들어가요!
카테고리 일반
글쓴이 김마니 작성시각 2017/04/18 17:56:06
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 1014   RSS

multi_form 이용해서 이미지 넣는 것 까진했는데요.

아이폰, 안드로이드로 사진을 찍어서 올리면 사진이 눕혀져서 올라가네요?

왜이런지 아시는분 있나요?? ㅠㅠ

 다음글 ajax 배열 데이터 컨트롤러에서 받기 (4)
 이전글 쿼리스트링 방식일때 검색값 value에 넣는 방법 (2)

댓글

변종원(웅파) / 2017/04/18 18:10:21 / 추천 1

원래 그래요.. 그러면 이상한가요? ㅎㅎ

이미지 정보를 읽어서 특정 값에 따라 이미지를 돌려야 합니다.

http://php.net/manual/kr/function.exif-read-data.php 에서 첫번째 note 참고하세요.

김마니 / 2017/04/19 21:36:46 / 추천 0
웅파님감사합니다!
테러보이 / 2017/04/20 18:22:52 / 추천 0

참고하세요~

# 돌아간 이미지 보정
function ImgLotate($Img) {

    global $ci;
    $exifData = exif_read_data($Img);
    $ImgInfo = getimagesize($Img);
    if(isset($exifData['Orientation'])) {
        if($exifData['Orientation'] == 6)  $degree = 270;
        else if($exifData['Orientation'] == 8) $degree = 90;
        else if($exifData['Orientation'] == 3) $degree = 180;
        if($degree) {
            if($exifData['FileType'] == 1) {
                $source = imagecreatefromgif($Img);
                $source = imagerotate ($source , $degree, 0);
                imagegif($source, $Img);
            }
            else if($exifData['FileType'] == 2) {
                $source = imagecreatefromjpeg($Img);
                $source = imagerotate ($source , $degree, 0);
                imagejpeg($source, $Img);
            }
            else if($exifData['FileType'] == 3) {
                $source = imagecreatefrompng($Img);
                $source = imagerotate ($source , $degree, 0);
                imagepng($source, $Img);
            }

            imagedestroy($source);
        }
    }
    $config['image_library'] = 'gd2';
    $config['source_image'] = $Img;
    $config['maintain_ratio'] = TRUE;
    $config['width'] = $ImgInfo[0];
    $config['height'] = $ImgInfo[1];
    $ci->load->library('image_lib', $config);
    $ci->image_lib->resize();
}


# exif정보 출력
function ImgExif($Img) {
    global $ci;

    $exifData = exif_read_data($Img);
    $ImgInfo = getimagesize($Img);
    if($exifData['Orientation'] == 6)  $degree = 90;
    else if($exifData['Orientation'] == 8) $degree = -90;
    else if($exifData['Orientation'] == 3) $degree = -180;
    return array('degree'=>$degree,'exif'=>$exifData, 'info'=>$ImgInfo);
}