🗜
JPEG画像のファイルサイズを一括で圧縮する
この記事について
この記事では指定ディレクトリ内(サブディレクトリを含む)のJPEG画像のファイルサイズを一括で圧縮する方法について紹介します。画像処理にはNode.jsのsharpを使います。関連リソースを下記に示します。
コーディングの準備
ターミナルで下記のコマンドを実行してコーディングの準備をします。
mkdir compress-jpeg-image
cd compress-jpeg-image
npm init -y
npm install sharp
touch compress-images.mjs main.mjs
コーディング
エディタで下記のファイルを開いて内容を入力します。
compress-images.mjs
main.mjs
動作確認
ターミナルで下記のコマンドを実行してオリジナル画像のディレクトリを作成します。
mkdir img-original
オリジナル画像を用意します。今回はJaimeReimerさんのモレーン湖の美しい景色を使用します。
下記のコマンドを実行して画像の圧縮を開始します。
node main.mjs
圧縮後の画像はimgディレクトリに出力されます。
画像のファイルサイズが157KBから124KBバイトまで圧縮されました。圧縮率は124KB / 157KB = 79%です。
おわりに
画像の圧縮には TinyPNG などを利用することもできますが、一度に処理できる画像が20件までなどの制限があります。大量の画像を圧縮する必要がある場面などでこの記事で紹介した方法がお役に立てば幸いです。
Discussion