tosumalog~ IT的備忘とパパ的備忘を書き綴ります ~

tosumalog

~ IT的備忘とパパ的備忘を書き綴ります ~

コマンドラインで画像ファイルのリサイズ(ImageMagick)

こんにちは、tosumaです。

今回はコマンドラインでファイルのサイズを変更する方法をご紹介します。

1.概要

Blogやサイトへ配置する画像を小さくしたい場合にファイルの縮小を行います。

縮小そのものはGoogleで検索するとWeb上で簡単に実施できるサービスが沢山ありますが
対象のファイル数が多かったり、定期的に発生する作業だったりする場合には手でやってられないと思います。

今回はその作業をコマンドラインで実施する方法をご紹介します。
前提条件として、環境はWindows、ツールとしてはImageMagickを使っています。

2.準備

2.1.ImageMagickのインストール

WIndowsでは標準でコマンドラインによる画像縮小が難しいので便利なmageMagick(イメージマジック)というツールを使用します。

mageMagick(イメージマジック)はコマンドラインベースで画像ファイルの操作があれこれ可能なツールです。

こちらのツールの良いところとしてはコマンドラインに対応している所は勿論、非常に多くの画像形式に対応している点ですね。

以下からダウンロードを行います。
ImageMagick – Download


以下赤枠の最新のものを使えば良いと思います。


ダウンロードできたら.exeファイルをダブルクリックで起動します。


「I accept the agreement」を選択した状態で「Next」を選択。


規約は目を通して「Next」を選択。


インストール先を指定して「Next」を選択。


StartMenuフォルダは規定、もしくは気になるなら変更して「Next」を選択。


インストール対象の選択では2番目の「Add Application directory to your system path」のチェックは必須で、「Create a desktop icon」や「Install FFmpeg」は任意でチェックをします。
※Create a desktop icon…デスクトップにショートカット作成
※Install FFmpeg…動画ファイルのエンコード・デコード用


サマリ画面で内容確認できたら「Install」を選択。


最終確認もサッと目を通したら「Next」を選択。


少し待ったらインストール完了、「Finish」を選択して閉じます。
※「View index.html」はチェック不要です


インストールが終わったので起動確認してみましょう。
コマンドプロンプトはスタートメニューを開いて、「cmd」と打ち込むと表示されます。


コマンドプロンプトで「magick」と打ち込みます。
以下のように何か出たらOKです、パスが通ってますね。


これで準備は完了です。

2.2.ファイルの縮小のプログラム構文

ファイルのサイズを縮小する場合は以下のような記述になります。

rem リサイズ処理
magick.exe convert -geometry <指定サイズ> -quality <品質> "<元ファイル>" "<リサイズ後のファイル>"

2.3.プログラム例

以下は具体的なプログラムの例です。

rem リサイズ処理
magick.exe convert -geometry 150x150 -quality 70 "c:\work\20000001_256.png" "c:\work\20000001_256_resize.png"

指定したフォルダを確認するとファイルが出力されています。
プロパティから縮小されていることが確認可能です。

2.4.ディレクトリ(フォルダ)内の画像全てを対象とする場合

フォルダに含まれる画像を一括で縮小掛けたい場合は以下のような記述になります。
for文で拡張子指定するなどで対象を特定して順に処理する感じですね。

@echo off
REM 処理対象のフォルダへ移動
cd c:\work
REM 縮小処理
for %%f in (*.png) do (
  magick.exe convert -geometry 150x150 -quality 70 "c:\work\%%f¥" "c:\work\%%~nf_resize%%~xf"
)

上記はworkフォルダの配下にある.pngファイルを対象に
元ファイル名.pngを元ファイル名_resize.pngの名前で縮小を掛けています。


コマンドラインで実施できたら何かと便利ですよね。
本記事が何かしらの参考になれば幸いです。

それでは皆さんも良いテクニカルライフを!!


お読み頂き有難うございました。