php图片缩放实现方法
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),
= 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>类型的控制。
上一篇: PHP 选项及相关信息函数库