省型旧形国電の残影を求めて

戦前型旧形国電および鉄道と変褪色フィルム写真を中心とした写真補正編集の話題を扱います。他のサイトでは得られない、筆者独自開発の写真補正ツールや補正技法についても情報提供しています。写真補正技法への質問はコメント欄へどうぞ

GIMP / Python Tips: プラグインで[元に戻す]範囲を設定する

 Pythonで作成したGIMPプラグインを実行後、その操作を取り消すと、特に何も設定していなければ、プログラムに書かれている操作過程一つ一つを取り消すことになります。従って、プラグインで指定した操作全体を一挙に取り消すことができません。

 そこで、プラグインデイ指定した操作全体を一挙にキャンセルできるようにするために、gimp-image-undo-group-start と gimp-image-undo-group-end というAPIが用意されています。

 例えば...

#!/usr/bin/env python
# -*- coding: utf-8 -*-

 

from gimpfu import *
def My_Plugin(image)
  pdb.gimp_image_undo_group_start(image)

 

     一連の手続き

 

  pdb.gimp_image_undo_group_end(image)
  return
register(... 以下略

 

とすると pdb.gimp_image_undo_group_start(image) と pdb.gimp_image_undo_group_end(image) の間に挟まれている一連の手続きが、プラグイン実行後、[編集]→[元に戻す]を実行すると、一挙にキャンセルされます。これを書かないと、一連の手続きの一つ一つごとに、[元に戻す]が実行される結果となります。