imgo - JPEG/PNG/GIF/ICO。画像なら何でも圧縮してサイズ軽減
こういう取りまとめてくれるツールは便利ですね! Retinaディスプレイや4Kディスプレイなど高解像度のディスプレイが出回ると、その中で扱われる画像サイズも自ずと大きくなっていきます。それは致し方ないと思うのですが、何の対策もしないのはいただけません。 PNG/JPEG/GIFなど様々な画像フォーマットに応じて圧縮ライブラリがありますが、imgoはそうしたライブラリを一つにとりまとめてくれる優れものです。
imgoの使い方
imgoのヘルプは次のようになっています。
$ ./imgo --help
imgo 0.8: Images Optimizer
Git repo: https://github.com/imgo/imgo
Usage: imgo [-params] [FILE]
Options:
-h | --help displays help
-b | --brute brute mode, best compression, incompatible in IE6
-png optimize only PNG files
-jpg optimize only JPEG files
-gif optimize only GIF files
-ico optimize only ICO files
-a abbreviated information
-e | --emulate emulation mode - files are not overwritten
-m | --multipass multipass- image is processed several times
-q | --quiet hides the whole bar, be quiet
-V | --version displays version number
-d | --diff displays diff info
-s | --separate PNG divided into 2 files - the first with transparency, the second without
-bkgd set bKGD chunk -bkgd#ff0000, only 6 digits format
-rt Remove Transparency
-nr Disable recursive search in subdirectories
-png8a convert PNG24+Alpha to PNG8+palette transparency
-v | --log display log
-- end of options: only file names follow
----------
Examples:
imgo somefile.png
imgo somedir
imgo -ie6 somefile.png
imgo .
特に区別しないなら imgo ディレクトリ だけで扱えるようです。試したところ、次のようになりました。
$ ./imgo "11.44.15.png"
11.44.15.png: 402190 => 301201, Saved: 100989 bytes (25%)
---------------------------------------------------------
Result:
Processed: 1 files of 1, total size 402190 bytes
Profit: 100989 bytes (25%)
Total time: 00:02:30 (HH:MM:SS)
imgoが使っているライブラリは次の通りです。
- imagemagick
- pngout
- optipng
- pngrewrite
- exiftool
- advpng
- jpegtran
- gifsicle
- pngnq
- defluff
- cryopng
- pngcrush
コンピュータの性能にもよりますが、2分30秒はかなり長いです。しかし25%の削減にもつながっています。自分のPCで行っても良いですが、サーバサイドで一括変換しても良いように思います。丹念に圧縮しますので、時間はそれなりにかかりますが、その効果はダウンロードサイズの低減によるネットワークコスト減少や高速に表示されるようになるのでユーザビリティ向上など相当大きいのではないでしょうか。
imgoはBashスクリプト製のオープンソース・ソフトウェア(MIT License)です。