그냥 gd 만을 이용해서 썸네일을 만들어주는 함수입니다.
600x400 이미지를 300x200 으로 만들라고 하면 당연히 비율에 맞게 줄여지겠지만..
400x600이미지를 300x200으로 만들라고 하면 3/4 비율로 줄인후 세로를 가운데를 중심으로 crop 시켜줍니다.
이미지에서 중요한 부분은 가운데쪽에 있을꺼같아서 가운데를 중심으로 양쪽 또는 위아래를 잘라내도록 했습니다.
특별한 기술이라기 보다 이런걸 찾는분들 쉽게 찾으시라고 올려드립니다..
검색에 잘 걸리게 키워드도 넣어두지요. ㅎㅎ
사용법은 thumbnail(파일명,x사이즈,y사이즈) 입니다.
그럼 소스 갑니다.
<?
/****************************************************************************
* thumbnail.lib.php
* 가로세로 비율이 흐트러지지 않고 지정한 크기로 썸네일을 만들어줌
*****************************************************************************/
## Image LoadJpeg (String $fName);
function LoadImage ($fName) {
$file_ext = strtolower(substr(strrchr($fName,"."), 1)); //확장자
switch ($file_ext) {
case "jpg": case "jpeg":
$im = @ImageCreateFromJPEG ($fName);
break;
case "gif":
$im = @ImageCreateFromGIF ($fName);
break;
case "png":
$im = @ImageCreateFromPNG ($fName);
break;
}
$dst_im=ImageCreate($width,$height); //결과물 이미지 생성
ImageCopyResized($dst_im,$src_im,0,0,$offsetX,$offsetY,$width,$height,ImageSX($src_im)-$offsetX,ImageSY($src_im)-$offsetY); //만들기
return $dst_im;
}