Media files manipulation
- Laravel >=5.7
- Install package via composer require
or add to your composer.json to require section and update your dependencies
composer require inweb/media
"inweb/media": "*"
- Run migrations
php artisan migrate
You are ready to go!
Add trait to your model (InWeb\Base\Entity)
use InWeb\Media\WithImages;
For thimbnails implement method:
use InWeb\Media\Thumbnail;
...
public function getImageThumbnails()
{
return [
'catalog' => new Thumbnail(function (\Intervention\Image\Image $image) {
return $image->resize(100, 100, function (Constraint $c) {
$c->aspectRatio();
$c->upsize();
})->resizeCanvas(100, 100);
}, true),
];
}
Thumbnail class receives 2 parameters:
- Closure with \Intervention\Image\Image object
- Boolean - Only for main image (default - false)
You can specify original thumbnail name to manipulate with original image.
public function getImageThumbnails()
{
return [
'original' => new Thumbnail(...),
];
}