PHP图片缩放裁剪
代码
/**
* 裁剪图片
* 不足地方拉伸,不产生变形,不留下空白
* @param $src_file //来源物理路径
* @param $dst_file //裁剪后保存的物理路径
* @param int $new_width 宽度
*/
function image_resize($src_file, $dst_file, $new_width=400)
{
$type = exif_imagetype($src_file);
//打开来源图片
switch($type)
{
case IMAGETYPE_JPEG :
//存储图像
$a = imagecreatefromjpeg($src_file);
break;
case IMAGETYPE_PNG :
$a = imagecreatefrompng($src_file);
break;
case IMAGETYPE_GIF :
$a = imagecreatefromgif($src_file);
break;
default :
break;
}
// 将图片宽高获取到
list($width, $height) = getimagesize($src_file);
//定义百分比,缩放到0.1大小
$percent = $new_width/$width;
$new_height = $height * $percent; //新高度
//创建新图片
$new_image = imagecreatetruecolor($new_width, $new_height);
//将原图$image按照指定的宽高,复制到$new_image指定的宽高大小中
imagecopyresampled($new_image, $a, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
switch($type)
{
case IMAGETYPE_JPEG :
//存储图像
imagejpeg($new_image, $dst_file, 90);
break;
case IMAGETYPE_PNG :
imagepng($new_image, $dst_file, 90);
break;
case IMAGETYPE_GIF :
imagegif($new_image, $dst_file);
break;
default :
break;
}
}若文章对您有帮助,帮忙点个赞!

(微信扫码即可登录,无需注册)