您的位置:首页 > 编程语言 > PHP开发

PHP普通缩放和等比缩放函数

2016-08-10 22:16 162 查看
/**
* 图片缩放
* @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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: