当前位置:Gxlcms > PHP教程 > php图片缩放实现方法_PHP

php图片缩放实现方法_PHP

时间:2021-07-01 10:21:17 帮助过:25人阅读

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),
= TIFF(motorola byte order),9 = JPC,10 = JP2,11 = JPX,12 = JB2,13 = SWC,
= 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>类型的控制。

人气教程排行