1画像から複数範囲を切り取る

標題のツールをWEBで探したが見つからないので、GIMPのPython-Fuを
使ってツールを自作した。後のために以下にメモしておく。

1.背景
  ゲームプレイの記録で全体図と拡大図を残しているが、
  1つの元画像から複数の拡大図を切り取るのは、なかなか面倒である。
  いままではGIMPで手動にて切り取っていた。
  しかし、元画像が多くなると大変になってきたので、自動化を考えた。

2.基本的な考え方
(1)複数範囲の数と各範囲の幅・高さなどのデータは、下図のcsvファイルから読み込む。
   1行目が元画像のファイル名で、C:\Program Files\GIMP 2\binフォルダの下に入れておく。
   またはD:\DATA2\game\Strategy\DTOM\play\play2\DTOM_P209K.jpgなどのフルパスで指定して、任意のフォルダにいれる。
   2行目の4が複数範囲の数、3行目以降はA列が出力するファイル名(.jpgはツールが付加する)、
   B列が幅、C列が高さ、D列が開始X座標、E列が開始Y座標を指定する。

(2)1つの範囲を切り抜いた後は、幅・高さを戻してから元画像を再度読み込む。
   その後は同様に同じ処理を複数回繰り返す(1回の起動で複数範囲を切り取る)。
(3)ツールの起動は、下図のようにPython-Fuから行う。

3.プログラム
  プログラムソースを最後に示す(長いので)。

<個人的な感想>
元画像のファイル名称をcsvファイルから読み込む所で苦戦した。
原因はcsvファイルのコードがUTF-8でなくUTF-8-BOMになっていた為である。
エラー表示には、きちんと正しいパスとファイル名が表示されるので、
何故エラーになるのか分からなかった。
ちょっとした事でプログラムが動かないのは、よくある事だが、久々に多くの
時間を無駄にした・・・。