やりたいこと
大量のJpegの圧縮率をまとめて変更する。
Webサービスなどで数十枚の画像を変換するツールがありますが、今回は数百~数千枚の画像をまとめて変換します。
cjpegによる圧縮
mozjpegに含まれるcjpegを使用して圧縮します。
cjpegはコマンドラインのプログラムでこのアプリケーション自体は一つのjpeg画像の圧縮率を変更するアプリケーションです。batファイルを作成して複数のjpegファイルの圧縮率を変更します。
cjpegのダウンロード
以下のページの上部からAssetsを開きmozjpeg-Vx.x.x-win-x64.zipとmozjpeg-Vx.x.x-win-x86.zipへのリンクをさがします。(記事を書いた時点ではV4.0.3です)
Releases · mozilla/mozjpeg
Improved JPEG encoder. Contribute to mozilla/mozjpeg development by creating an account on GitHub.
使用する環境に合わせてmozjpeg-Vx.x.x-win-x64.zipとmozjpeg-Vx.x.x-win-x86.zipをダウンロードします。
cjpegのインストール
ダウンロードしたzipを任意のフォルダに展開します。
cjpeg.exeは以下のフォルダに含まれます。
\shared\Release
batの作成
フォルダ内のすべての.Jpgファイルにcjpegを実行するbatを作成します。
以下のをメモ帳で作成しcjpeg.batとして保存します。
mkdir "output" for %%A in (*.jpg) do ( echo %%A "展開フォルダ\shared\Release\cjpeg.exe" -optimize -quality 90 -outfile "output\%%A" "%%A" )
展開ファイルはzipを展開したフォルダに変更します。
-quality 90の90はJpegの品質です。必要があれば変更します。(0-100の間の値。100が最高品質です。)
batの実行
cjpeg.batを変換するjpegファイルのあるフォルダにコピーしダブルクリックで実行します。
結果
batファイルを実行したフォルダにoutputフォルダが作成され、作成されたフォルダ内に圧縮率が変更されたファイルが同名で保存されました。
コメント