convert -version
Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org のようにバージョンが表示されればOKです
composer require intervention/image
php artisan vendor:publish --provider="Intervention\Image\ImageServiceProviderLaravelRecent"
// 'driver' => 'gd'
'driver' => 'imagick'
“imagick” is much faster than “gd” , even 3 times more faster!
パスから読み込み
$interv = \Image::make( storage_path('app/images/test.png') );
URLから読み込み
$interv = \Image::make( 'https://www.xxx.com/xxx/test.jpg' );
base64データから読み込み
$data = file_get_contents($path);
$data_url = 'data:image/png;base64,'. base64_encode($data);
$interv = \Image::make($data_url);
jpgフォーマットへ変換
$jpg = $interv->encode('jpg');
$interv->save($save_path);
S3へ保存するときは文字列変換をかませます
$data = $interv->__toString();
\Storage::disk($file_store_disk)->put("{$file_store_dir}/{$image_name}", $data);
$interv->width(); // 幅
$interv->height(); // 高さ
$interv->filesize(); // ファイルサイズ
$interv->mime(); // mimeタイプ
$interv->exif(); // exif情報
横幅 800px
縦幅 自動
でリサイズする
$interv->resize(800, null, function($constraint){
$constraint->aspectRatio();
});
https://github.com/spatie/laravel-image-optimizer
https://ariteku.hatenablog.com/entry/2020/08/02/082201