[0033]intervention/imageを利用して自動画像加工
■construct
Lalavel10 PHP 8.2.9で動作確認済
まず、ssh接続し、composerでintervention/imageをインストールします。
              
#intervention/imageをインストール
% composer require intervention/image
    			
            
          3.2バージョンが入りました。これで準備は完了です!
色んなことができますが、今回はサーバに配置しているバラバラのサイズの画像を元に、500×500cmにサイズ変更します。変更時に比率は変えずに余白を白で埋めます。
既存の画像は変更(上書き)せずに、違うディレクトに同ファイル名で保存するようにしました。
XXXXController.php
              
<?php
namespace App\Http\Controllers;
//Useが必ず必要!
use Intervention\Image\ImageManager;
use Intervention\Image\Drivers\Gd\Driver;
class XXXXController extends Controller
{
	public function index(){
		$img = "sample.png";
		$image_to = "/inte_uploads/".$img;
        if (!file_exists($image_to)) {
            //存在しない場合は作成する
            $manager = new ImageManager(new Driver());
            $image_from = "/uploads/".$img;
            $image = $manager->read($image_from);
            $image->pad(500, 500,'fff');
            $image->toPng()->save($image_to);
        }
	}
}
    			
            
          このサンプルでは、/inte_uploads/sample.png が存在しない場合に、/uploads/sample.png の画像を加工し、 /inte_uploads/sample.pngに新規保存しています。
便利ですね!!