つづき
4.処理で困った事例と対策
プログラミングで困った事例と対策を今後ためにメモしておく。
(1)画像をセーブする時に1つのレイヤーしかセーブできない。
(例)下図のように”ズボンとコート”の部分しかセーブできない。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
・How do I save (export) all layers with gimp’s script fu?
上記ページの回答12を参考にしたら、下図のように表示レーヤーを
全てセーブできた。
(2)連隊番号を表示する際に、3桁未満の場合は先頭に空白を入れたい。
(例)文字列の44を44_でなく_44と表示したい(_は空白の意味)。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
・Pythonで文字列をスペースで固定長に埋めるにはどうすればいいですか?
(3)プログラムを更新した時に、GIMPに反映させる方法が分かりにくい。
(例)GIMPを再起動させれば良いが、回数が多くなると時間がもったいない。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
下図のように”スクリプトを再読み込み”すれば良い。Python-Fuではなく、
Script-Fuでも問題なく更新される(Python-Fuには該当メニューがない)。
(4)csvファイルを書き込むと、必ず空白行が1行はいる。
(例)Python3.7では、newline=””をオプションに追加すれば対策できるが、
Python2.7では上記のオプションに対応していないのでエラーになる。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
・Pythonでcsvを扱うと改行コードが0D 0D 0Aになる問題
open(‘imgtest.csv’, ‘w’)の’w’を’wb’に変えると解決できる。
(5)csvファイルの更新方法はどうするのか。
(例)csvファイルの読み込みと書き込みは分かるが、更新は何か方法が
あるのか良く分からない。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
結論は、読み込んだファイルを書き換えた後に同じファイルに書き込めば良い(当たり前か)。
(6)レイヤー内の色を変更する方法が分からない。
(例)ユニットのベルトの色をグレーからスカーレットに変えたい。
(対策)下記のWEBページにお世話になりました。ありがとうございます。
Valentinoさんの回答が参考になりました。
・gimp python – how to change pixel color?
次回へつづく
<個人的な感想>
色々な人にお世話になり、ありがたかった。とても独力では解決できなかった。