標籤:圖片 png rom name 縮圖 blog size create div
/** * 等比例產生縮圖 * @param $imgSrc * @param $resize_width * @param $resize_height * @param $isCut * @author james.ou 2011-11-1 */public function reSizeImg($imgSrc, $resize_width, $resize_height, $isCut = false) {//圖片的類型$type = substr(strrchr($imgSrc, "."), 1);//初始化圖象if ($type == "jpg") {$im = imagecreatefromjpeg($imgSrc);}if ($type == "gif") {$im = imagecreatefromgif($imgSrc);}if ($type == "png") {$im = imagecreatefrompng($imgSrc);}//靶心圖表象地址$full_length = strlen($imgSrc);$type_length = strlen($type);$name_length = $full_length - $type_length;$name = substr($imgSrc, 0, $name_length - 1);$dstimg = $name . "_s." . $type;$width = imagesx($im);$height = imagesy($im);//產生圖象//改變後的圖象的比例$resize_ratio = ($resize_width) / ($resize_height);//實際圖象的比例$ratio = ($width) / ($height);if (($isCut) == 1) { //裁圖if ($ratio >= $resize_ratio) { //高度優先$newimg = imagecreatetruecolor($resize_width, $resize_height);imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, (($height) * $resize_ratio), $height);ImageJpeg($newimg, $dstimg);}if ($ratio < $resize_ratio) { //寬度優先$newimg = imagecreatetruecolor($resize_width, $resize_height);imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, $resize_height, $width, (($width) / $resize_ratio));ImageJpeg($newimg, $dstimg);}} else { //不裁圖if ($ratio >= $resize_ratio) {$newimg = imagecreatetruecolor($resize_width, ($resize_width) / $ratio);imagecopyresampled($newimg, $im, 0, 0, 0, 0, $resize_width, ($resize_width) / $ratio, $width, $height);ImageJpeg($newimg, $dstimg);}if ($ratio < $resize_ratio) {$newimg = imagecreatetruecolor(($resize_height) * $ratio, $resize_height);imagecopyresampled($newimg, $im, 0, 0, 0, 0, ($resize_height) * $ratio, $resize_height, $width, $height);ImageJpeg($newimg, $dstimg);}}ImageDestroy($im);}
PHP等比例產生縮圖