人気のPHP WEBアプリケーションフレームワークLaravelのTipsを記録していきます

Laravel で JPEG画像の最適化(ファイルサイズ減少)コマンド jpegoptim を使用する

● jpegoptim の インストール

sudo yum install -y jpegoptim

インストールの確認

jpegoptim --version

● jpegoptim の コマンド

・余計な情報を取り除く

jpegoptim --strip-all sample.jpg

・圧縮率80%で圧縮する

jpegoptim --max=80 sample.jpg

実行例 (40.82% サイズが小さくなりました)

sample_02.jpg 1400x1194 24bit N JFIF  [OK] 369121 --> 218432 bytes (40.82%), optimized.

・圧縮率75%で圧縮する

jpegoptim --max=75 sample.jpg

実行例 (46.37% サイズが小さくなりました)

sample_03.jpg 1400x1194 24bit N JFIF  [OK] 369121 --> 197954 bytes (46.37%), optimized.

圧縮率 75% 〜 85% あたりがおすすめです。

・ファイルサイズを半分にする

jpegoptim --size=50% sample.jpg

実行例 (50.48% サイズが小さくなりました)

sample_04.jpg 1400x1194 24bit N JFIF  [OK] 369121 --> 182787 bytes (50.48%), optimized.

● spatie / laravel-image-optimizer のインストール

・1. インストール

composer require spatie/laravel-image-optimizer

・2. 設定ファイルを自動生成する

php artisan vendor:publish --provider="Spatie\LaravelImageOptimizer\ImageOptimizerServiceProvider"

・3-A. 自動で画像最適化を行うルートを通るようにする

// app/Http/Kernel.php
protected $routeMiddleware = [
   ...
   'optimizeImages' => \Spatie\LaravelImageOptimizer\Middlewares\OptimizeImages::class,
];

・3-B. 手動で任意のタイミングで画像最適化を行う

use ImageOptimizer;

// the image will be replaced with an optimized version which should be smaller
ImageOptimizer::optimize($pathToImage);

// if you use a second parameter the package will not modify the original
ImageOptimizer::optimize($pathToImage, $pathToOptimizedImage);
No.2010
06/18 12:05

edit