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
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
Laravelでintervention/imageを使う - Qiita