//调整图像大小 该函数主要目的是为了防止直接在html中定义图片宽度和高度而形成锯齿
function imageResize($image_url,$w,$h){
//判断源文件是否存在
if(file_exists($image_url)){
$position = strrpos($image_url,'.');
$new_image_url = substr($image_url,0,$position).'_'.$w.'_'.$h.substr($image_url,$position);//新文件路径
if(!file_exists($new_image_url)){
$image = imagecreatefromjpeg($image_url);
$old_w = imagesx($image);
$old_h = imagesy($image);
$temp = imagecreatetruecolor($w,$h);//创建画布
imagecopyresampled($temp,$image,0,0,0,0,$w,$h,$old_w,$old_h);//重采样拷贝部分图像并调整大小
imagejpeg($temp,$new_image_url);//保存图片
}
return $new_image_url;
}else{
die('源文件不存在');
}
}
说明:
(1)通常放在自定义帮助函数文件中
(2)执行成功后,在与源文件相同的目录下,生成一张新的图片
(3)在一些常见的PHP框架(如ThinkPHP,laravel)中,都有专门的类来处理图像,都能得到比较好的效果