前回は、画像最適化のための jpegoptim、jpegtran、optipng、pngcrush について説明しました。今日は、ImageMagick をレビューします。 ImageMagick® を使用して、ビットマップ イメージを作成、編集、構成、または変換します。 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF、SVG など、さまざまな形式 (200 以上) の画像を読み書きできます。 ImageMagick を使用して、画像のサイズ変更、反転、鏡像化、回転、ゆがみ、剪断、変形、画像の色の調整、さまざまな特殊効果の適用、テキスト、線、多角形、楕円、ベジエ曲線の描画を行います。
imagemagick のインストール
Debian では、このユーティリティはパッケージに含まれています:
# apt-get install imagemagick
imagemagick の使用例
GIF と PNG は可逆形式であり、圧縮プロセスによって画像が視覚的に変更されることはありません。静止画像の場合、PNG はより優れた圧縮率と優れた視覚的品質を実現します。アニメーション画像の場合は、GIF の代わりにビデオ要素を使用して、より良い圧縮を実現することを検討してください。
- オリジナルがアニメーション化されていたり、小さい (数百バイト未満) でない限り、常に GIF を PNG に変換してください。
- GIF と PNG の両方で、すべてのピクセルが不透明な場合はアルファ チャネルを削除します。
たとえば、convert binary を使用して、次のコマンドで GIF および PNG 画像を最適化できます (括弧内のパラメーターはオプションです):
$ convert INPUT.gif_or_png -strip [-resize WxH] [-alpha Remove] OUTPUT.png
cuppa.png (1,763 バイト)
$ convert cuppa.png -strip cuppa_converted.png
cuppa_converted.png (856 バイト)
JPEG は非可逆形式です。圧縮プロセスは画像の視覚的な詳細を取り除きますが、圧縮率は GIF や PNG の 10 倍になる場合があります。
- 品質が高ければ 85 に下げます。品質が 85 を超えると、画像はすぐに大きくなりますが、視覚的な改善はほとんどありません。
- クロマ サンプリングを 4:2:0 に減らします。これは、人間の視覚系は輝度に比べて色に対する感度が低いためです。
- 10k バイトを超える画像にはプログレッシブ形式を使用します。プログレッシブ JPEG は通常、大きな画像のベースライン JPEG よりも圧縮率が高く、プログレッシブ レンダリングの利点があります。
- 画像が白黒の場合は、グレースケールの色空間を使用してください。
たとえば、convert binary を使用して、次のコマンドで JPEG 画像を最適化できます (括弧内のパラメーターはオプションです):
$ convert INPUT.jpg -sampling-factor 4:2:0 -strip [-resize WxH] [-quality N] [-interlace JPEG] [-colorspace Gray/sRGB] OUTPUT.jpg
puzzle.jpg (13,501 バイト)
$ convert puzzle.jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB puzzle_converted.jpg