kwaadpepper / image-resizer
Resize images on the fly and cache them
Requires
- php: ^8.3
- illuminate/support: ~11|~12|~13
- intervention/image: ^4.0
- laravel/framework: ~11|~12|~13
Requires (Dev)
- larastan/larastan: ^3.9
- orchestra/testbench: ^9.0|^10.0
- slevomat/coding-standard: ^8.11
README
Resizes an image on the fly and returns the new link
Installation
Via Composer
composer require kwaadpepper/image-resizer
Usage
1 - Publish config
php artisan vendor:publish --provider="Kwaadpepper\ImageResizer\ImageResizerServiceProvider"
2 - Set a config in templates array (config/image-resizer.php)
/**
* resize => will resize the image (boolean)
* fit => Combine cropping and resizing to format image in a smart way (boolean)
* keepRatio => will keep image ratio wile resizing (boolean)
* trim => boolean to trim the image using border color
* inCanvas => to make sure image boundarie is respected
* format => select tha wantd ouput form, yan can just convert images if you want
*/
'templates' => [
'smallWebp' => [
'height' => 500,
'width' => 250,
'inCanvas' => true,
'format' => 'webp',
'trim' => ['transparent', null, 10]
]
]
3 - type in console php artisan storage:link
4 - in your blade template override an image link
<img src="{{ asset(resize('images/volaillesfr_landing.png', 'smallWebp')) }}" alt="My resized image">
5 - Optional You can manually clean outdated cache files using command php artisan image-resizer:clean-cache
or force cleaning the cache using php artisan cache:clear
- Please note that this is automatically scheduled on production every half hour
- Cache lifetime defaults to 1 week (configurable via
lifetimeinconfig/image-resizer.php). Cached images are regenerated on demand.
Change log
Please see the changelog for more information on what has changed recently.
Testing
composer test
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email github@jeremydev.ovh instead of using the issue tracker.
Credits
License
MIT. Please see the license file for more information.