php基础练习--图片缩放:
<?php /** * image zoom. */ function imageZoom($filename, $w, $h) { /* Arguments meaning */ /* $filename: the source of the name */ /* $w: you want get the image's width */ /* $h: you want get the imgage's height */ $arr = getimagesize($filename); $src_w = $arr[0]; $src_h = $arr[1]; $src_t = $arr[2]; /*1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,7 = TIFF(intel byte order), 8 = TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC, 14 = IFF,15 = WBMP,16 = XBM*/ $src_m = $arr['mime']; $src_img = imagecreatefromjpeg($filename); if (($w / $src_w) >($h / $src_h)) { $bili = $h / $src_h; } else { $bili = $w / $src_h; } $dst_w = $src_w * $bili; $dst_h = $src_h * $bili; $dst_img = imagecreatetruecolor($dst_w, $dst_h); imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dst_w, $dst_h, $src_w, $src_h); header("content-type:{$src_m}"); switch ($src_t) { case 1: $imgout = "imagegif"; break; case 2: $imgout = "imagejpeg"; break; case 3: $imgout = "imagepng"; break; default: echo "The type was wrong!"; break; } $dst_filename = "s_".$filename; $imgout($dst_img, $dst_filename); imagedestroy($dst_img); } $filename = 'gg.jpg'; imageZoom($filename, 100, 200);
核心:<1>注意缩放比例如何得到,虽然这样得到的图片可能会与预想的有点差别,但是最起码保证了缩放比例。
<2>类型的控制。