假设我有一个大小为400 KB的图像文件。现在,我想将其大小减小到200 KB!
可以使用laravel干预吗?
如果不是,我应该采用哪种方法?
干预图像调整大小包
答案 0 :(得分:0)
上传图片后尝试使用此功能
function compress($source, $destination, $quality)
{
$info = getimagesize($source);
$image = '';
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $destination, $quality);
return $destination;
}
像这样使用它:
compress(path_to_your_image,same_path_to_reolace_it,quality:10->100)
答案 1 :(得分:0)
您应该尝试以下操作:
if($request->hasFile('image')) {
$image = $request->file('image');
$filename = $image->getClientOriginalName();
$image_resize = Image::make($image->getRealPath());
$image_resize->resize(300, 300);
$image_resize->save(public_path('images/ServiceImages/' .$filename));
}
答案 2 :(得分:0)
我已使用此代码。这对我有用。
if ($request->style_img_n != "" ) {
$file = $request->file('style_img_n');
$filename = uniqid() . '.' . $file->getClientOriginalExtension();
$file = Image::make($file)->resize(800, null, function ($constraint) {$constraint->aspectRatio();});
$locfile= 'assets/files/style/'.$filename;
$file->save($locfile);
}
它保持宽高比。