세로로 긴 이미지 리사이즈+크롭 방법 없을까요?(GD관련) 정보
세로로 긴 이미지 리사이즈+크롭 방법 없을까요?(GD관련)
본문
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$max = 180; //[필수](픽셀) // 썸네일 이미지의 가로세로(긴쪽)의 최대치.
$resol = 90; //[필수](퍼센트%) // 생성되는 썸네일의 JPG압축률.
}
$noIMG = $board_skin_path."/img/_noimage.gif"; // 이미지 없을 때
####################################################################################################################################################
function smaller( $W, $H ) {
global $max, $thum_W, $thum_H ;
if ( $W > $H ) { //가로형일 경우.
$thum_W = $max ;
$thum_H = ceil( $H * ( $max / $W ) );
}
if ( $W < $H ) { //세로형일 경우.
$thum_H = $max ;
$thum_W = ceil( $W * ( $max / $H ) );
}
if ( $W == $H ) { //정사각형일 경우.
$thum_W = ceil( $max * 0.8 );
$thum_H = ceil( $max * 0.8 );
}
return $thum_W ;
return $thum_H ;
}
function maker( $thum_W, $thum_H ) {
global $thum, $resol, $ori, $ori_info ;
//$newImg = ImageCreate($thum_W,$thum_H); // GD라이브러리 2.0 (이하일 경우)
$newImg = ImageCreateTrueColor($thum_W,$thum_H); // GD라이브러리 2.0 전용함수
if($ori_info[2]=="2") $origImg=ImageCreateFromjpeg($ori);
if($ori_info[2]=="3") $origImg=ImageCreateFrompng($ori);
//ImageCopyResized($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
imageCopyResampled($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
Imagejpeg($newImg, $thum, $resol );
chmod($thum,0707);
ImageDestroy($newImg);
ImageDestroy($origImg);
return $thum ;
}
####################################################################################################################################################
?>
섬네일 게시판에 보편적으로(?)사용되는 GD를 이용한 섬네일생성 소스입니다
개인적으로 써먹을 게시판형 갤러리 스킨 만들다가 한가지 문제에 가로막혔습니다
세로로 긴 이미지를 업로드 시킬경우 이미지가 아래로 길어지는 문제죠(이것때문에 셀도 들쭉날쭉)
섬네일의 가로세로 모두를 제한해서 섬네일을 만드는 방법도 있겠지만. 이렇게 되면 이미지가 너무 작아지고
이것말고 세로로 긴 이미지는 크롭하는 뭐 그런방법 없을까요?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$max = 180; //[필수](픽셀) // 썸네일 이미지의 가로세로(긴쪽)의 최대치.
$resol = 90; //[필수](퍼센트%) // 생성되는 썸네일의 JPG압축률.
}
$noIMG = $board_skin_path."/img/_noimage.gif"; // 이미지 없을 때
####################################################################################################################################################
function smaller( $W, $H ) {
global $max, $thum_W, $thum_H ;
if ( $W > $H ) { //가로형일 경우.
$thum_W = $max ;
$thum_H = ceil( $H * ( $max / $W ) );
}
if ( $W < $H ) { //세로형일 경우.
$thum_H = $max ;
$thum_W = ceil( $W * ( $max / $H ) );
}
if ( $W == $H ) { //정사각형일 경우.
$thum_W = ceil( $max * 0.8 );
$thum_H = ceil( $max * 0.8 );
}
return $thum_W ;
return $thum_H ;
}
function maker( $thum_W, $thum_H ) {
global $thum, $resol, $ori, $ori_info ;
//$newImg = ImageCreate($thum_W,$thum_H); // GD라이브러리 2.0 (이하일 경우)
$newImg = ImageCreateTrueColor($thum_W,$thum_H); // GD라이브러리 2.0 전용함수
if($ori_info[2]=="2") $origImg=ImageCreateFromjpeg($ori);
if($ori_info[2]=="3") $origImg=ImageCreateFrompng($ori);
//ImageCopyResized($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
imageCopyResampled($newImg,$origImg,0,0,0,0,$thum_W,$thum_H,ImageSX($origImg),ImageSY($origImg));
Imagejpeg($newImg, $thum, $resol );
chmod($thum,0707);
ImageDestroy($newImg);
ImageDestroy($origImg);
return $thum ;
}
####################################################################################################################################################
?>
섬네일 게시판에 보편적으로(?)사용되는 GD를 이용한 섬네일생성 소스입니다
개인적으로 써먹을 게시판형 갤러리 스킨 만들다가 한가지 문제에 가로막혔습니다
세로로 긴 이미지를 업로드 시킬경우 이미지가 아래로 길어지는 문제죠(이것때문에 셀도 들쭉날쭉)
섬네일의 가로세로 모두를 제한해서 섬네일을 만드는 방법도 있겠지만. 이렇게 되면 이미지가 너무 작아지고
이것말고 세로로 긴 이미지는 크롭하는 뭐 그런방법 없을까요?
댓글 전체