°íÇØ»óµµ À̹ÌÁö ÀԷ¿¡ ´ëÇÑ Ã³¸®¹æ¹ý·Ð
ÇØ»óµµ ³ôÀº µðÄ«·Î ÂïÀº »çÁøÀ» °Ô½ÃÆÇ¿¡ ¿Ã¸®¸é,
¿ë·®ÀÌ Á¦ÇѵǾî ÀÖÁö¾Ê´Â ÇÑ ÇÑ ÀÚ¸®¸¦ Â÷ÁöÇϰԵǴµ¥,
ÀÌ·¯ÇÑ »çÁøµéÀ» ÀÚµ¿À¸·Î ÁÙ¿©ÁÖ¸é¼ Å©±â,Ä÷¸®Æ¼)¿øº» »çÁøÀ» »èÁ¦ÇÏ´Â ±â´ÉÀ» ±¸ÇöÇغýÀ´Ï´Ù.
<? function resize_image($file, $width = 0, $height = 0, $proportional = false, $output = 'file', $delete_original = true, $use_linux_commands = false, $quality = 100 ) {
if ( $height <= 0 && $width <= 0 ) return false; # Setting defaults and meta $info = getimagesize($file); $image = ''; $final_width = 0; $final_height = 0; list($width_old, $height_old) = $info; # Calculating proportionality if ($proportional) { if ($width == 0) $factor = $height/$height_old; elseif ($height == 0) $factor = $width/$width_old; else $factor = min( $width / $width_old, $height / $height_old ); $final_width = round( $width_old * $factor ); $final_height = round( $height_old * $factor ); } else { $final_width = ( $width <= 0 ) ? $width_old : $width; $final_height = ( $height <= 0 ) ? $height_old : $height; } # Loading image to memory according to type switch ( $info[2] ) { case IMAGETYPE_GIF: $image = imagecreatefromgif($file); break; case IMAGETYPE_JPEG: $image = imagecreatefromjpeg($file); break; case IMAGETYPE_PNG: $image = imagecreatefrompng($file); break; default: return false; }
# This is the resizing/resampling/transparency-preserving magic $image_resized = imagecreatetruecolor( $final_width, $final_height ); if ( ($info[2] == IMAGETYPE_GIF) || ($info[2] == IMAGETYPE_PNG) ) { $transparency = imagecolortransparent($image); if ($transparency >= 0) { $transparent_color = imagecolorsforindex($image, $trnprt_indx); $transparency = imagecolorallocate($image_resized, $trnprt_color['red'], $trnprt_color['green'], $trnprt_color['blue']); imagefill($image_resized, 0, 0, $transparency); imagecolortransparent($image_resized, $transparency); } elseif ($info[2] == IMAGETYPE_PNG) { imagealphablending($image_resized, false); $color = imagecolorallocatealpha($image_resized, 0, 0, 0, 127); imagefill($image_resized, 0, 0, $color); imagesavealpha($image_resized, true); } } imagecopyresampled($image_resized, $image, 0, 0, 0, 0, $final_width, $final_height, $width_old, $height_old);
# Taking care of original, if needed if ( $delete_original ) { if ( $use_linux_commands ) exec('rm '.$file); else @unlink($file); } # Preparing a method of providing result switch ( strtolower($output) ) { case 'browser': $mime = image_type_to_mime_type($info[2]); header("Content-type: $mime"); $output = NULL; break; case 'file': $output = $file; break; case 'return': return $image_resized; break; default: break; }
# Writing image according to type to the output destination and image quality switch ( $info[2] ) { case IMAGETYPE_GIF: imagegif($image_resized, $output); break; case IMAGETYPE_JPEG: imagejpeg($image_resized, $output, $quality); break; case IMAGETYPE_PNG: $quality = 9 - (int)((0.9*$quality)/10.0); imagepng($image_resized, $output, $quality); break; default: return false; } return true; } function getSizeFile($url) { if (substr($url,0,4)=='http') { $x = array_change_key_case(get_headers($url, 1),CASE_LOWER); if ( strcasecmp($x[0], 'HTTP/1.1 200 OK') != 0 ) { $x = $x['content-length'][1]; } else { $x = $x['content-length']; } } else { $x = @filesize($url); } return $x; } function file_size($size) { $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB"); if ($size == 0) { return('n/a'); } else { return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]); } }
//indicate which file to resize (can be any type jpg/png/gif/etc...) $file = '¿øº»ÆÄÀϸí.È®ÀåÀÚ';
//indicate the path and name for the new resized file $resizedFile = '¸®»çÀÌ¡µÇ¾î ÀúÀåµÉ °æ·Î/ÆÄÀϸí.È®ÀåÀÚ';
//call the function resize_image($file ,"600" , "400", true , $resizedFile , false , false ,50 );
?>
|