Windowsでコマンド操作で画像ファイルを加工するならImageMagick

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

Windows環境で、画像ファイルを「リサイズしたい」「形式を変換したい」「画像の一部を切り取りたい」などの加工を行う場合、GUIの加工ツールを利用することが多いですが、利用環境によっては、コマンドラインで加工処理を行いたい場合もあるでしょう。

そこでここでは、Windows 10や11で画像ファイルをコマンドで加工したいときにおすすめのツール「ImageMagick」と、その使い方を紹介します。

ImageMagickとは

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

ImageMagick - Convert, Edit, or Compose Bitmap Images

「ImageMagick(イメージマジック)」は、画像ファイルを加工できるオープンソースのコマンドラインツールで、個人商用を問わず無料で利用できます。

プラットフォームは、WindowsやLinux、MacOS、iOSなどに対応しており、多数の画像ファイル形式にも対応し、画像形式の変換やリサイズ、画像の合成などのさまざまな処理が可能です。

ちなみに、ImageMagickでは、さまざまな画像処理を一つのコマンドとオプションを組み合わせて実行するため、オプションの数は300個近くあり、オプションの数の多さからもさまざまな処理が可能なことがうかがえます。

ImageMagickの使い方

ここでは基本的な使い方として、インストールから、画像のリサイズ、画像の切り取り、画像形式の変換、画像ファイルの作成方法について紹介します。

ImageMagickのインストール

ImageMagickは、公式サイトのダウンロードページからインストーラーをダウンロードしてインストールします。

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

Windows版は複数のインストーラーが提供されていますが、一番上にリストされている「ImageMagick-7.0.8-47-Q16-x64-dll.exe」が推奨版なので、こちらをインストールします。

インストール方法は、ウィザードに従い進めるだけなので難しくありません。

利用する際は、コマンドプロンプトを起動してmagickコマンドなどとオプションを組み合わせて実行して加工処理を行います。

画像のリサイズ

画像をリサイズするときは「-resize」オプションを利用します。

以下のコマンド例では、カレントディレクトリにあるPNG形式ファイルに対して、幅と高さのどちらかが680ピクセルを越えていたら縮小し、元ファイルと同じ形式で、元ファイル名の先頭に「Resize-」を付加して、別ファイルとして保存しています。

> magick *.png -resize "680x680>" -set filename:x "Resize-%t.%e" "%[filename:x]"

サイズの指定方法は、さまざまなパターンが以下の公式サイトで紹介されています。

ImageMagick - Command-line Processing

画像の切り取り

画像の特定の場所を切り出すには「-crop」オプションを利用します。

指定方法は「-crop(切り出すサイズ:幅x高さ)+(始点の座標:X軸+Y軸)」という感じで指定します。たとえば、以下の画像(donut.png)から、始点をX軸245・Y軸245として、幅150・高さ150で切り出して「crop_donut.png」として保存する場合、次のように指定します。

> magick donut.png -crop 150x150+245+245! crop_donut.png

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

donut.png

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

crop_donut.png

また「-gravity」オプションを利用すると、中央(center)とか、左下(southwest)といった指定方法で切り出すことができます。

> magick donut.png -gravity center -crop 150x150+0+0! center_donut.png
> magick donut.png -gravity southwest -crop 150x150+0+0! southwest_donut.png

画像形式の変換

画像形式を変換する際は、拡張子を指定するだけで自動的に変換してくれます。また、100種類以上の画像形式に対応しており、一般的な画像形式ならおおむね対応していると思ってよいでしょう。

以下のコマンド例では、カレントディレクトリにあるPNG形式ファイルに対して、元ファイル名のままJPEG形式に変換し、別ファイルとして保存しています。

> magick *.png -set filename:x "%t" "%[filename:x].jpg"

画像の軽量化

ImageMagickでは、画像の品質を可能な限り維持しながらファイルサイズを抑えるといった軽量化もできます。

たとえば、画像形式として一般的なJPEG形式の画像ファイルを軽量化するときは、以下のようにコマンドを実行します。

> convert.exe <入力ファイルパス> -verbose -sampling-factor 4:2:0 -strip -quality 80 -interlace JPEG -colorspace sRGB <出力ファイルパス>

画像ファイルの作成

ImageMagickでは、文字列をレンダリングして画像ファイルを作成することもできます。

> magick -font "Yu-Mincho-Demibold" -size 300x300 -gravity center -fill white -background slategray label:"画像\nファイル" sample.png

上のコマンドを実行すると、以下のような画像ファイルを作成できます。

Windowsでコマンド操作で画像ファイルを加工するならImageMagick

sample.png

なお、指定可能なフォントや色は「magick -list font」や「magick -list color」で調べることができます。

詳しい利用方法を調べる

ImageMagickの使い方を調べる場合は、以下のコマンドを実行することで、既定のWebブラウザで、ImageMagickの公式サイトを開くことができます。

> magick browse: -help

あとがき

ここでは、ImageMagickの基本的な利用例しか紹介していませんが、オプションを組み合わせることでさまざまな加工処理ができます。

また、コマンドラインツールなので、WindowsであればバッチファイルやPowerShellスクリプトと組み合わせて、複数のファイルを一括処理するといったときにも便利です。