썸네일 이미지 비율문제 해결좀 부탁드립니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

썸네일 이미지 비율문제 해결좀 부탁드립니다. 정보

썸네일 이미지 비율문제 해결좀 부탁드립니다.

본문

$imgWidth= '75';  //썸네일 폭
$imgHeight = '100'; //썸네일 높이
$thumb_quality = '100'; //썸네일 퀄리티_100 이하



function createThumb($imgWidth, $imgHeight, $imgSource, $imgThumb='', $iscut=false)
{
    if (!$imgThumb)
        $imgThumb = $imgSource;

    $size = getimagesize($imgSource);

    if ($size[2] == 1)
        $source = imagecreatefromgif($imgSource);
    else if ($size[2] == 2)
        $source = imagecreatefromjpeg($imgSource);
    else if ($size[2] == 3)
        $source = imagecreatefrompng($imgSource);
    else
        continue;

    $rate = $imgWidth / $size[0];
    $height = (int)($size[1] * $rate);

    if ($height < $imgHeight) {

        $target = @imagecreatetruecolor($imgWidth, $height);

    } else {

        $target = @imagecreatetruecolor($imgWidth, $imgHeight);

    }

    @imagecopyresampled($target, $source, 0, 0, 0, 0, $imgWidth, $height, $size[0], $size[1]);
    @imagejpeg($target, $imgThumb, 100);
    @chmod($imgThumb, 0606); // 추후 삭제를 위하여 파일모드 변경
}

썸네일 생성 소스 입니다.
이미지가 세로가 길면 문제가 안되는데 가로가 길면 이미지가 깨지는 현상 비율로 처리할수 있는 방법좀 알려주시면 감사하겠습니다.

댓글 전체

소스는 맞는듯 보입니다.
비율 = 75/원본x길이 원본이 150이라면 비율은 0.5
높이=(int)(원본y길이 * 비율) 원본이300이라면 비율이 0.5이므로 150
그럼 결과적으로 만들어지는 사이즈는 75곱하기150 이고 원본이 150곱하기300이므로
맞습니다. 비율대로 잘라지는것
가로가 길 경우
비율 = 75/원본x길이 원본이 300이라면 비율은 0.25
높이=(int)(원본y길이 * 비율) 원본이100이라면 비율이 0.25이므로 25
원본이 300곱하기100 이고 결과물은 75곱하기 25이므로 이도 정확하구요

결론적으로 가로가 더 길경우 결과물의 세로사이즈는 75보다 작을수밖에 없습니다.
오히려 세로가 거대할 경우 깨지는 소스인데요.
혹시 썸네일 출력하는 img 태그에서 강제로 width랑 height를 고정시켜준거 아닌지요?
저는 그것밖에 떠오르지 않네요.
메가쵸코님 해결되었습니다. 감사합니다.
문제는 말씀하신데로 사이즈 값이 고정되어 있었네요 아이구 !!!~ >.< 
덕분에 3시간만에 해결 봤네요 정말 감사합니다. _ _
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT