갤러리 썸네일 비율로 보이게 하는법
예를 들어 세로로 길게 주욱 붙여진 사진을 갤러리에 등록하면 목록에서 썸네일이
무진장 길어지더군요.
이 방법 찾으려고 그누보드 싸이트 밤새 돌아다녔지만 명쾌한 답변이 없어
결국 질문 드립니다.
소스를 수정해야 하는거라면 어떤 파일에서 어디 부분을 수정하는지 자세히 알려주셨으면 합니다.
처음 홈페이지 만들려고 하다보니 모르는게 많네요. 도와주세요~
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 1개
가로나 세로 가운데 큰쪽을 설정된 사이즈로 마추고 작은쪽은 비율에 따라 줄여주는 방법입니다.
$dest_file = $data_path .'/'. $file;//원본 이미지
if (preg_match("/\.(jp[e]?g|gif|png)$/i", $file) && file_exists($dest_file)){
$thumb = $thumb_path.'/' . $file;
if (!file_exists($thumb)) {
$size = getimagesize($dest_file);
if ($size[2] == 1)
$src = imagecreatefromgif($dest_file);
else if ($size[2] == 2)
$src = imagecreatefromjpeg($dest_file);
else if ($size[2] == 3)
$src = imagecreatefrompng($dest_file);
else
break;
//------------------------------------------------------------------------
if ($size[0] >= $size[1]) {
//최대 사이즈 제한 방식 - 가로 세로 최대 사이즈 bo_1에 입력
$rate = $board[bo_1] / $size[0];
$width = $board[bo_1];
$height = (int)($size[1] * $rate);
}
else {
$rate = $board[bo_1] / $size[1];
$width = (int)($size[0] * $rate);
$height = $board[bo_1];
}
//------------------------------------------------------------------------
$dst = imagecreatetruecolor($width, $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $width, $height, $size[0], $size[1]);
imagepng($dst, $thumb, $board['bo_2']);
chmod($thumb, 0707);
/*
//가로기준 세로는 비율대로 반영 - 원본
$rate = $board['bo_1'] / $size[0];
$height = (int)($size[1] * $rate);
$dst = imagecreatetruecolor($board['bo_1'], $height);
imagecopyresampled($dst, $src, 0, 0, 0, 0, $board['bo_1'], $height, $size[0], $size[1]);
imagepng($dst, $thumb, $board['bo_2']);
chmod($thumb, 0707);
*/
}
}//if preg