【问题标题】:compress size of image (Laravel)压缩图像大小(Laravel)
【发布时间】:2018-08-31 23:39:59
【问题描述】:

我有这段代码可以在数据库和上传文件夹中插入图像。你知道什么是必要的,所以可以压缩上传的图像的大小吗?

...

if ($request->image) {
    $featured = $request->image;
    $featured_new_name = time() . $featured->getClientOriginalName();
    $featured->move('uploads/posts', $featured_new_name);
} else {
    $featured_new_name = null;
}

 $post = Post::create([
          ...
            'image' => $featured_new_name ? "uploads/posts/{$featured_new_name}" : null,
...
$conf->save();

...

【问题讨论】:

    标签: laravel


    【解决方案1】:

    我希望您知道在此过程中您会损失一些图像质量?

    如果你能接受,我建议你使用ImageMagickimagejpeg()

    对于ImageMagick()

    $image = new Imagick('image.jpg');
    $image->setImageCompression(Imagick::COMPRESSION_JPEG);
    $image->setImageCompressionQuality(80);
    

    对于imagejpeg()

    imagejpeg($image, $savePath, $quality);    //Quality has a default of 75.
    

    【讨论】: