画像ファイルを一括で圧縮してファイルサイズを小さくする方法


ホームページの表示速度を改善するために、画像ファイルを圧縮しました。ここで紹介する方法によって、ファイルサイズがかなり削減できましたので、その方法をまとめておきたいと思います。




ImageMagickを使えば一括で圧縮が可能


画像を圧縮するためには、画像を圧縮して軽くするには人間が認識できるギリギリまで画質を下げると良いです。そのためにはGoogleが推奨しているようにImageMagickというフリーソフトを使うと良いです。


ImageMagickにはいくつかの実行ファイルが含まれていて、convertというコマンドラインプログラムを使うと一括で画像ファイルを圧縮することができます。




ImageMagickで画像を圧縮する方法



まず、以下のURLからImageMagickをダウンロードします。

https://www.imagemagick.org/script/download.php


以下では、Windowsの場合について説明します。
Windowsの場合には、ImageMagick-7.0.7-35-portable-Q16-x64.zipのように、portableとついたバージョンを使うと、インストールすることなく使えて便利です。

(1)このImageMagick***-protable***.zipファイルをダウンロード・解凍して適当なフォルダに置きます。ここでは、C:\ImageMagickフォルダに配置するとします。


(2)Windowsのコマンドプロンプトを起動します。






(3)画像を圧縮するときは、以下のようなコマンドを実行します。ダウンロードしたImageMagickのconvert.exeツールを使います。


[JPGの場合] (1枚だけ圧縮)

convert.exe [変換前ファイル名].jpg -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB [変換後ファイル名].jpg



[PNGの場合] (1枚だけ圧縮)

convert.exe [変換前ファイル名].png -strip [変換前後ファイル名].png


これが基本の使い方になります。


JPGの場合は、画質を85%に下げます(-quality 85)。人間の視覚的にはこれ以上画質を上げてもほとんどわかりません。また、人間の視覚系は輝度よりも色への感度が低いため、クロマサンプリングを 4:2:0 に下げます(-sampling-factor 4:2:0)。

参考サイト: 画像を最適化する [Google公式サイト]



ここで紹介した実行方法は画像を1枚だけ圧縮する方法ですので、大量のファイルを一括で圧縮するには以下のようなスクリプトを用意します。



[JPGの場合] (一括で圧縮)

for %%a in ("C:\images\*.jpg") do (
C:\ImageMagick\convert.exe %%a -sampling-factor 4:2:0 -strip -quality 85 -interlace JPEG -colorspace sRGB %%a
)



[PNGの場合] (一括で圧縮)

for %%a in ("C:\images\*.png") do (
C:\ImageMagick\convert.exe %%a -strip %%a
)


このスクリプトを実行すると画像ファイルを上書きしますので、必要に応じてバックアップを取っておいてください


画像ファイルはC:\imagesフォルダに入っているとしています。imagesフォルダ内に入っているすべてのjpgやpngファイルを処理対象としていますので、別の場所に画像ファイルがあるときは、"C:\images\*.jpg"、"C:\images\*.png"の部分を修正してください。


C:\ImageMagick\convert.exeは、convert.exeファイルのパスになります。


上記のスクリプトをメモ帳に写して、convert.batなどとしてください。拡張子は必ず.batとします。



(4)convert.batをコマンドプロンプトの画面にドラッグ・ドロップして、Enterキーを押して実行します。



以上で画像を圧縮してファイルサイズを削減できます。



まとめ


ImageMagickのconvertツールを使うことで、1枚につき20%近く画像サイズを圧縮することができました。

おかげでホームページの表示速度が速くなりました。





このエントリーをはてなブックマークに追加



関連記事 

1.Word(docx)ファイルから画像を抽出する方法
2.Word(docx)ファイルからテキストを抽出する方法
3.写真のexif情報を一括で削除するフリーソフト


▲ このページの上部へ戻る