JPEG画像を圧縮する場面が増えてきたのでサクッと行える方法を紹介します。
今回使用するのは定番JPEG画像圧縮ツールの「jpegoptim」です。
ターミナルの作業も含みますのでよくわからない場合は下記の記事で基本情報を説明しています。
jpegoptimをダウンロード
まずはツールをダウンロードします。
Homebrewを使用する方法を説明します。Homebrewの導入方法は下記の記事を参考にしてください。
下記のコマンドでダウンロード可能です。
brew install jpegoptim
下記のコマンドでjpegoptim
のバージョンが表示されていればインストール完了です。
jpegoptim -V
jpegoptim使用方法
基本的な使用方法は下記のようになります。
jpegoptim [オプション] [ファイル名]
jpegoptim
には多数のオプションが用意されています。
以下によく使用するであろうオプションを説明します。
圧縮率を指定
一番大事な圧縮率を指定するオプションです。
クオリティを指定か、サイズを指定する方法があります。
クオリティを指定して圧縮
「-m」オプションでクオリティを指定して圧縮します。
0〜100で指定が可能で、数値が下がるとより圧縮され画像も劣化します。
クオリティ指定の例
jpegoptim -m(0〜100) ファイル名
下記は実際のファイルを圧縮した例です。
-m50で圧縮実行
jpegoptim -m50 test.jpeg
test.jpeg 400x602 24bit N ICC JFIF [OK] 53064 --> 22571 bytes (57.46%), optimized.
サイズを指定して圧縮
「-S」オプションで圧縮後のファイルサイズを指定して圧縮します。
指定できる値はKB(キロバイト)になります。
サイズ指定の例
jpegoptim -S(KB単位でサイズ数値を指定) ファイル名
下記は実際のファイルを圧縮した例です。
-S10で圧縮実行
jpegoptim -S10 test.jpeg
test.jpeg 400x602 24bit N ICC JFIF [OK] 53064 --> 10972 bytes (79.32%), optimized.
また、数値の後に「%」をつけると、圧縮率を指定することもできます。
-S20%で圧縮実行
jpegoptim -S20% test.jpeg
test.jpeg 400x602 24bit N ICC JFIF [OK] 53064 --> 10972 bytes (79.32%), optimized.
保存先の指定
「-d」オプションで保存場所を指定できます。
デフォルトの設定ではオリジナルファイルを上書きするので残しておきたい場合は指定しましょう。
保存先指定の例
jpegoptim -d 保存先パス ファイル名
下記はデスクトップにある圧縮後というフォルダへ保存する例です。
デスクトップ圧縮後フォルダへの保存
jpegoptim -d /Users/D-Box/Desktop/圧縮後/ test.jpeg
jpegoptim: skipping directory: /Users/D-Box/Desktop/圧縮後/
test.jpeg 400x602 24bit N ICC JFIF [OK] 53064 --> 52386 bytes (1.28%), optimized.
保存ファイル名を変更
「--stdout」オプションで圧縮後のファイル名を変更できます。
デフォルトの設定では圧縮前のファイル名と同じ名前で保存されます。
ファイル名変更の例
jpegoptim --stdout ファイル名 > 変更後ファイル名
下記は「test.jpeg」を「圧縮後.jpeg」へ変更する例です。
圧縮後.jpegへファイル名変更
jpegoptim --stdout test.jpeg > 圧縮後.jpeg
test.jpeg 400x602 24bit N ICC JFIF [OK] 53064 --> 52386 bytes (1.28%), optimized.
画像情報を削除
「--strip-all」オプションでExifなどのメタ情報を削除し微小ながらサイズが小さくなります。
メタ情報削除例
jpegoptim --strip-all ファイル名
上記ではメタ情報を一括で削除しますが、オプション指定すれば個別に削除することもできます。
メタ情報個別削除オプション例
--strip-com ⬅︎コメント
--strip-exif ⬅︎Exif
--strip-iptc ⬅︎IPTC
--strip-icc ⬅︎ICC
--strip-xmp ⬅︎XMP
画像比較
jpegoptim
コマンドで主に使用するオプションは以上です。
以下は参考に圧縮率の違いによる画像劣化具合を載せていきます。
-m80
で圧縮
-m60
で圧縮
-m40
で圧縮
-m20
で圧縮
画像によって劣化具合も変わるかもしれませんが、私は-m70
くらいで落ち着いています。
-m20
だと明らかに劣化が激しいですね。
より詳しいオプションを知りたければman jpegoptim
かjpegoptim -h
で詳細を確認できます。
Automatorを使用してコンテキストメニューやフォルダアクションに組み込む
今回はjpegoptim
コマンドをより簡単に使用するために、右クリック➡︎コンテキストメニューやフォルダアクションに組み込みたいと思います。
手順は結構簡単なので是非お試しください。
基本的なAutomatorの設定手順はPNG画像を圧縮する方法と同じなので下記の記事を参考にしてください。
Automator用のコマンドを用意
Automatorへ組み込む際のコマンドラインは以下を入力します。
コマンド内容はフォルダアクション、コンテキストメニューから実行する場合も同じです。
Automator用jpegoptimコマンド
for f in "$@"
do
echo "$f"
done
/usr/local/bin/jpegoptim --strip-all --max=70 "$@"
入力後はこんな感じになります。
右クリックからも使用できてとても便利です。
コンテキストメニューにサブメニューが作成されてしまって、サービスへの階層が深くなって困るという場合は下記の記事が参考になるかと思います。
以上になります。
これでJPEG画像の圧縮もだいぶ効率化できたと思います。
参考になれば幸いです。