썸네일 이미지 만들기 > PHP

STUDY ROOM

PHP

썸네일 이미지 만들기

페이지 정보

작성자 JMStudy 작성일13-01-07 15:18 조회9,401회 댓글0건

본문

$obj = new thumbImage;
$obj->real_path = "./upload";
$obj->target_path = "./upload";
//$img_exe 이미지확장자명
$obj->imageResize($img_name,$img_exe,100,100);

class thumbImage {
    
    var $real_path = '.';
    var $target_path = '.';
    #var $add_name = 'thumb_';
        var $add_name = '';
    var $image_quality = 95;

    function imageResize($realImage, $target_ext, $width, $height) {

        static $extName;
        static $src;
        static $thumb;

                $target_ext = strtolower($target_ext);

        $extName = strtolower( substr( $realImage, -3 ) );

        switch($extName) {
            case 'peg' :
            case 'jpg' :
                $src = @ImageCreateFromJPEG($this->real_path . '/' . $realImage);
                break;
            case 'gif' :
                $src = @ImageCreateFromGIF($this->real_path . '/' . $realImage);
                break;
            case 'png' :
                $src = @ImageCreateFromPNG($this->real_path . '/' . $realImage);
                break;
            default :
                echo '이 파일은 변환할 수 없습니다.';
                exit;
        }
            
                $size = getimagesize($this->real_path . '/' . $realImage);
                $rate = $width / $size[0];
                $comp_height = (int)($size[1] * $rate);
                // 계산된 썸네일 이미지의 높이가 설정된 이미지의 높이보다 작다면
                if ($comp_height < $height) $height=$comp_height;

        $thumb = ImageCreateTrueColor($width, $height);
        ImageCopyResampled($thumb, $src, 0,0,0,0, $width, $height, ImageSX($src), ImageSY($src) );    

        $realImage = substr($realImage, 0, -3) . $target_ext;

        switch($target_ext) {
            case 'jpeg' :
            case 'jpg' :
                @ImageJPEG($thumb, $this->target_path . '/' . $this->add_name . $realImage, $this->image_quality) or die('Writing Error : Check - Directory and Filename.');
                break;
            case 'gif' :
                @ImageGIF($thumb, $this->target_path . '/' . $this->add_name . $realImage, $this->image_quality) or die('Writing Error : Check - Directory and Filename.');
                break;
            case 'png' :
                @ImagePNG($thumb, $this->target_path . '/' . $this->add_name . $realImage, $this->image_quality) or die('Writing Error : Check - Directory and Filename.');
                break;
            default :
                echo '이 확장자는 지원되는 확장자가 아닙니다.';
                exit;
        }

        ImageDestroy($src);
        ImageDestroy($thumb);
    }
}
댓글목록

등록된 댓글이 없습니다.