/**
* 图片缩放
* @param string $filename 图片路径
* @param number $width 缩放宽度
* @param number $height 缩放高度
* @param number $is_type 缩放类型 1等比缩放 2普通缩放
* @return boolean
*/
function zoom($filename,$width=200,$height=200,$is_type=1){
// 获取图片信息
$info = getimagesize($filename);
// 判断是不是图片
if(!$info) exit('请处理图片');
// 获取图片类型
$arr = explode('/',$info['mime']);
$ext = $arr[1];
//拼接相关函数,打开、保存
$create = 'imagecreatefrom'.$ext;
$save = 'image'.$ext;
// 获取图片宽高
list($width_orig,$height_orig) = $info;
// 判断是普通缩放还是等比缩放
if(!$is_type == 1){
// 根据$width和$height的值计算出等比缩放的宽高
if($width && ($width_orig < $height_orig)){
$width = ($height / $height_orig) * $width_orig;
}else{
$height = ($width / $width_orig) * $height_orig;
}
}
// 创建画布
$image_p = imagecreatetruecolor($width,$height);
// 获取原图像资源
$image = $create($filename);
// 开始缩放
imagecopyresampled($image_p,$image,0,0,0,0, $width,$height, $width_orig,$height_orig);
// 保存图片,质量100(数值越大文件越大)
if($save($image_p,$filename,100)) return false;
// 销毁资源
imagedestroy($image_p);
imagedestroy($image);
return true;
}
PHP普通缩放和等比缩放函数
最新推荐文章于 2021-03-24 21:50:58 发布