Laravel image intervention compression
Try the encode()
method, where you can specify the format
and the quality
(for jpg
). So, everytime you use the cache, try to do this:
$cache_image = Image::cache(function ($image) use ($size, $name) { $image ->make(...) ->... // any other call to image manipulation methods ->encode('jpg', 75); // ... return $image;});
You need to use the save() method of the Image class where you will specify the quality of the image. The actual signature of the method save() is:
save([string $path, [int $quality], [string $format]])
Sample Examples are as follows:
<br>// open an image file<br>$img = Image::make('public/foo.jpg');<br><br>// save file as jpg with medium quality<br>$img->save('public/bar.jpg', 60); <br><br>// save the same file as jpg with default quality<br>$img->save('public/baz.jpg');<br><br>// save the file in png format with good quality<br>$img->save('public/bar.png', 75);<br><br>// save the image jpg format defined by third parameter<br>$img->save('public/foo', 80, 'jpg');<br><br>
For more information, please take a look at http://image.intervention.io/api/save