Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【ImageMagick】画像ファイルの任意の範囲を抜き出す

convertコマンドに抜き出す範囲を-cropオプションで指定をすることで、任意の範囲を抜き出すことができる。

ImageMagickのロゴの画像ファイルで試す。まず、ロゴの画像を作成する。

PS > magick logo: logo.png
PS > magick identify logo.png
logo.png PNG 640x480 640x480+0+0 8-bit sRGB 256c 27398B 0.000u 0:00.000

f:id:munibus:20181120070650p:plain

ロゴ画像の大きさは、横640ピクセル、縦480ピクセルである。

左40ピクセル分と上80ピクセル分を取り除いた横600ピクセル縦400ピクセルの画像を作成してみる。

PS > magick convert logo.png -crop 600x400+40+80 logo600x400.png
PS > magick identify logo600x400.png
logo600x400.png PNG 600x400 640x480+40+80 8-bit sRGB 256c 24449B 0.000u 0:00.000

f:id:munibus:20181127232212p:plain

-cropオプションは書式がいろいろ決まっており、柔軟に指定をすることができる。例えば、ただ単に左40ピクセル、上80ピクセルを取り除いた画像を作成するのであれば、以下のようにも指定できる。

PS > magick convert logo.png -crop +40+80 logo600x400_2.png
PS > magick identify logo600x400_2.png
logo600x400_2.png PNG 600x400 640x480+40+80 8-bit sRGB 256c 24449B 0.000u 0:00.000

f:id:munibus:20181127232406p:plain

右40ピクセル、下80ピクセルを取り除いた画像を作成するのであれば、以下のように指定する。

PS > magick convert logo.png -crop -40-80 logo600x400_3.png
PS > magick identify logo600x400_3.png
logo600x400_3.png PNG 600x400 640x480+0+0 8-bit sRGB 242c 23714B 0.000u 0:00.000

f:id:munibus:20181127232440p:plain

書式の詳細については、以下を参照のこと。
https://imagemagick.org/script/command-line-processing.php#geometry