laravel intervention imageとはimage magickのようなライブラリのlaravel版。
フロントエンドにはLaravel Livewireを採用しているが、
おそらくLaravel Controllerでも動くはず。
記事はv2になっているが、自分がこのパッケージをインストールしたときはv1だったので、
公式を見ていただいた方が早いかも()
インストール
https://image.intervention.io/v2/introduction/installation
composer requireする
$ composer require intervention/image
config/app.php に以下を追記
providersに
Intervention\Image\ImageServiceProvider::class
aliasesに
'Image' => Intervention\Image\Facades\Image::class
これでlivewireコンポーネントで
use Image;で呼ぶだけで、laravel intervention imageが使用できる。
リサイズの使用法
リサイズだけでなく、各関数の使用法はサイドメニューから見れる。
ちなみにリサイズ。
[Intervention Image - Resize](http://image.intervention.io/api/resize)
W * Hのアスペクト比を維持したまま画像を加工したい場合は、
最下部の記述を用いる。
// resize the image so that the largest side fits within the limit; the smaller
// side will be scaled to maintain the original aspect ratio
$img->resize(400, 400, function ($constraint) {
$constraint->aspectRatio();
$constraint->upsize();
});
第一引数がwidthで第二引数がheight。
ImageMagickを使用したい
もしImageMagickを使いたい場合は、以下の手順を行ってください。
$ php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravel5"
config/image.php を開いてdriverをimagickへ変更。
// 'driver' => 'gd'
'driver' => 'imagick'
※環境にImageMagickがインストールされている必要がある。
参考記事
[Intervention Image | Intervention Image v2 | intervention.io](https://image.intervention.io/v2)
[Laravelでintervention/imageを使う - Qiita](https://qiita.com/masuda-sankosc/items/874f6128de29ece021d5)