Processingで画像の切り取りをしてみた

とある画像の一部を切り抜いて別のファイルに保存したい、という時に、1ファイルならドローツールでも使って手動でやればいいのですが、ファイルが複数あったので自動化したくなりました。

で、C#Ruby辺りでやろうかと最初は思ったのだけれどC#は大仰だしRubyで画像処理はやったことがないしどうもライブラリ入れなきゃいけないらしい。と、そうだ、Processingなんてどうだろう? Processingも未経験だけどリファレンス見た感じでは画像ファイルを扱うこともできるようだし。

ということでやってみました。

// 画像ファイルを読み込んで
PImage img = loadImage("before.jpg");
// 切り取って
img = img.get(100, 100, 50, 50);
// 切り取った部分の画像を別名で保存
img.save("after.jpg");

こりゃ簡単。複数の画像ファイルに対して同じようにしたかったので、ループで回して目的を達成することができました。