관리자님이 알려주신 썸네일 생성하는거 어떻게 사용하는 거예요? 정보
관리자님이 알려주신 썸네일 생성하는거 어떻게 사용하는 거예요?본문
관리자님이 썸네일 생성하는 법 올려주신건데 어떻게 사용하는 거예요?
제가 가진 변수는 이건데, 이걸로 관리자님이 알려주신걸로 어떻게 대입하고 적용한다는 얘기인가요.
$imgwidth=160; //표시할 이미지의 가로사이즈
$imgheight=190; //표시할 이미지의 세로사이즈
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$image = $list[$i][file][0][file]; //원본
$img=$data_path. "/".$image;
$thumb = $thumb_path. "/". $list[$i][wr_id];
관리자님이 알려주신 썸네일 생성하는 법
---------------------
사용방법 :
// 비율에 따라 생성할 경우
create_thumb(500, 0, 소스이미지파일명, 썸네일이미지파일명);
// 고정방식을 사용할 경우
create_thumb(500, 500, 소스이미지파일명, 썸네일이미지파일명);
*** 위의 경우 모두 500 보다 넓이가 작은 이미지는 무시한다.
// 원본 이미지를 넘기면 비율에 따라 썸네일 이미지를 생성함
function create_thumb($width, $height, $source, $thumb="")
{
// 썸네일의 넓이가 넘어오지 않으면 에러
if (!$width)
return -1;
if (!$thumb)
$thumb = $source;
$size = getimagesize($source);
if ($size[2] == 1)
$source = imagecreatefromgif($source);
else if ($size[2] == 2)
$source = imagecreatefromjpeg($source);
else if ($size[2] == 3)
$source = imagecreatefrompng($source);
else
return -2;
// 썸네일 이미지 넓이 보다 원본이미지의 넓이가 작다면 그냥 원본이미지가 썸네일이 됨
if ($width > $size[0])
{
$target = imagecreatetruecolor($size[0], $size[1]);
imagecopyresampled($target, $source, 0, 0, 0, 0, $size[0], $size[1], $size[0], $size[1]);
}
else
{
// 썸네일 높이가 넘어왔다면 비율에 의해 이미지를 생성하지 않음
if ($height)
{
// 원본이미지를 썸네일로 복사
// 1000x1500 -> 500x500 으로 복사되는 형식이므로 이미지가 일그러진다.
$comp_height = $height;
}
else
{
// 원래 이미지와 썸네일 이미지와의 비율
$rate = round($width / $size[0], 2); // 소수점 2자리 , 소수점 3자리에서 반올림됨
// 비율에 의해 계산된 높이
$comp_height = floor($size[1] * $rate); // 소수점 이하 버림
}
$target = imagecreatetruecolor($width, $comp_height);
imagecopyresampled($target, $source, 0, 0, 0, 0, $width, $comp_height, $size[0], $size[1]);
}
@imagejpeg($target, $thumb, 100);
@chmod($thumb, 0666); // 추후 삭제를 위하여 파일모드 변경
return 1;
}
제가 가진 변수는 이건데, 이걸로 관리자님이 알려주신걸로 어떻게 대입하고 적용한다는 얘기인가요.
$imgwidth=160; //표시할 이미지의 가로사이즈
$imgheight=190; //표시할 이미지의 세로사이즈
$data_path = $g4[path]."/data/file/$bo_table";
$thumb_path = $data_path.'/thumb';
$image = $list[$i][file][0][file]; //원본
$img=$data_path. "/".$image;
$thumb = $thumb_path. "/". $list[$i][wr_id];
관리자님이 알려주신 썸네일 생성하는 법
---------------------
사용방법 :
// 비율에 따라 생성할 경우
create_thumb(500, 0, 소스이미지파일명, 썸네일이미지파일명);
// 고정방식을 사용할 경우
create_thumb(500, 500, 소스이미지파일명, 썸네일이미지파일명);
*** 위의 경우 모두 500 보다 넓이가 작은 이미지는 무시한다.
// 원본 이미지를 넘기면 비율에 따라 썸네일 이미지를 생성함
function create_thumb($width, $height, $source, $thumb="")
{
// 썸네일의 넓이가 넘어오지 않으면 에러
if (!$width)
return -1;
if (!$thumb)
$thumb = $source;
$size = getimagesize($source);
if ($size[2] == 1)
$source = imagecreatefromgif($source);
else if ($size[2] == 2)
$source = imagecreatefromjpeg($source);
else if ($size[2] == 3)
$source = imagecreatefrompng($source);
else
return -2;
// 썸네일 이미지 넓이 보다 원본이미지의 넓이가 작다면 그냥 원본이미지가 썸네일이 됨
if ($width > $size[0])
{
$target = imagecreatetruecolor($size[0], $size[1]);
imagecopyresampled($target, $source, 0, 0, 0, 0, $size[0], $size[1], $size[0], $size[1]);
}
else
{
// 썸네일 높이가 넘어왔다면 비율에 의해 이미지를 생성하지 않음
if ($height)
{
// 원본이미지를 썸네일로 복사
// 1000x1500 -> 500x500 으로 복사되는 형식이므로 이미지가 일그러진다.
$comp_height = $height;
}
else
{
// 원래 이미지와 썸네일 이미지와의 비율
$rate = round($width / $size[0], 2); // 소수점 2자리 , 소수점 3자리에서 반올림됨
// 비율에 의해 계산된 높이
$comp_height = floor($size[1] * $rate); // 소수점 이하 버림
}
$target = imagecreatetruecolor($width, $comp_height);
imagecopyresampled($target, $source, 0, 0, 0, 0, $width, $comp_height, $size[0], $size[1]);
}
@imagejpeg($target, $thumb, 100);
@chmod($thumb, 0666); // 추후 삭제를 위하여 파일모드 변경
return 1;
}
댓글 전체
위 함수는 썸네일을 만들어주는 함수고요
글쓴분은 썸네일을 만들어주는걸 쓰시는것 같아요
위 함수를 사용하는 방법은
create_thumb(50, 0, $image, $thumb_path. "/test.jpg");
적당한곳에 이렇게만 적어 주시면 해당 폴더에
넓이가 50인 test.jpg 이미지가 생성될거에요
아님 위 함수 마지막 return 1; 부분을 return $thumb; 로 수정하시고
<img src="<?=create_thumb?>"> 이렇게 해주시면 생성된 이미지를 바로 확인하실 수 있어요
글쓴분은 썸네일을 만들어주는걸 쓰시는것 같아요
위 함수를 사용하는 방법은
create_thumb(50, 0, $image, $thumb_path. "/test.jpg");
적당한곳에 이렇게만 적어 주시면 해당 폴더에
넓이가 50인 test.jpg 이미지가 생성될거에요
아님 위 함수 마지막 return 1; 부분을 return $thumb; 로 수정하시고
<img src="<?=create_thumb?>"> 이렇게 해주시면 생성된 이미지를 바로 확인하실 수 있어요