php简单图片压缩,基于laravel框架的原生处理

14 篇文章 0 订阅
if($image->getClientMimeType() == "image/png"){//图片格式
$src = @imagecreatefrompng ($image->getRealPath());  //创建画布,从缓存文件路径载入图片
list($width,$height) = getimagesize($image->getRealPath());   //获取宽高并赋值
$newwidth = $width/4;  //压缩后宽
$newheight = $height/4; //压缩后高
$tmp = imagecreatetruecolor($newwidth,$newheight); //压缩后宽高创建一个空图片 
imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  //将缓存文件复制到新建空图片,
imagepng($tmp, $image->getRealPath(), 9);  //新建图片替换缓存文件
imagedestroy($tmp); //清除新建文件,缓存文件被压缩后的替换
}else if ($image->getClientMimeType() == "image/jpeg") {//图片格式
$src = @imagecreatefromjpeg ($image->getRealPath());  //创建画布,从缓存文件路径载入图片
list($width,$height) = getimagesize($image->getRealPath());   //获取宽高并赋值
$newwidth = $width/4;  //压缩后宽
$newheight = $height/4; //压缩后高
$tmp = imagecreatetruecolor($newwidth,$newheight);  //压缩后宽高创建一个空图片
imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  //将缓存文件复制到新建空图片,
imagejpeg($tmp, $image->getRealPath(), 9);  //新建图片替换缓存文件
imagedestroy($tmp); //清除新建文件,缓存文件被压缩后的替换
}else if ($image->getClientMimeType() == "image/gif") {//图片格式
$src = @imagecreatefromgif ($image->getRealPath());  //创建画布,从缓存文件路径载入图片
list($width,$height) = getimagesize($image->getRealPath()); //获取宽高并赋值  
$newwidth = $width/4;  //压缩后宽
$newheight = $height/4; //压缩后高
$tmp = imagecreatetruecolor($newwidth,$newheight);  //压缩后宽高创建一个空图片
imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  //将缓存文件复制到新建空图片,
imagegif($tmp, $image->getRealPath(), 9); //新建图片替换缓存文件 
imagedestroy($tmp); //清除新建文件,缓存文件被压缩后的替换
}else if ($image->getClientMimeType() == "image/wbmp") {//图片格式
$src = @imagecreatefromwbmp ($image->getRealPath());  //创建画布,从缓存文件路径载入图片
list($width,$height) = getimagesize($image->getRealPath());   //获取宽高并赋值
$newwidth = $width/4;  //压缩后宽
$newheight = $height/4; //压缩后高
$tmp = imagecreatetruecolor($newwidth,$newheight);  //压缩后宽高创建一个空图片
imagecopyresized($tmp, $src, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);  //将缓存文件复制到新建空图片,
imagewbmp($tmp, $image->getRealPath(), 9);  //新建图片替换缓存文件
imagedestroy($tmp); //清除新建文件,缓存文件被压缩后的替换
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值