代码如下
缩放图片并进行保存
<?php
//调用
$r = thumb("./1.jpg",'thumb',100,100);
var_dump($r);
//图片缩放
//地址,路径,缩放的宽高,前缀
function thumb($srcImage,$path,$w,$h,$pre='s_'){
//0.判断图片类型
//1.获取图片后缀.jpg .jpeg .png .gif
$suffix = ltrim(strrchr($srcImage,'.'),'.');
if($suffix == 'jpg'){
$suffix = 'jpeg';
}
//2.得到变量函数函数名
$func = 'imagecreatefrom' . $suffix;
//1.打开已有图片
$img = $func($srcImage);
//2.获取图片宽高
$width = imagesx($img);
$height = imagesy($img);
//3.等比例缩放运算
if($width > $height){
$dh = $h;
$dw = $width * ($h / $height);
}else{
$dw = $w;
$dh = $height * ($w / $width);
}
//4.创建画布
$newImage = imagecreatetruecolor($dw,$dh);
//5.拷贝图像
imagecopyresampled($newImage,$img,0,0,0,0,
$dw,$dh,$width,$height);
//6.处理保存图片路径
if(!file_exists($path)){
mkdir($path);
}
//7.为缩放图片拼接路径
$newPath = rtrim($path,'/').'/';//删除'/'及右侧内容
$path = $newPath.$pre.basename($srcImage);
var_dump($path);
//8.保存图片
$img_func = 'image'.$suffix;//处理图片的函数名
$result = $img_func($newImage,$path);
//9.释放资源
imagedestroy($img);
imagedestroy($newImage);
return $result;
}
?>