GIMPのPython-Fuでレイヤー関連のプロシージャ

GIMP コンピュータ
GIMP

Python-Fuで扱うことが出来るレイヤー関連のプロシージャを調べてみました。

アクティブレイヤーを取得

layer = pdb.gimp_image_get_active_layer(image)

レイヤーオブジェクトのプロパティで名前を取得

layer.name

レイヤーの一覧の順番を取得

index = pdb.gimp_image_get_item_position(image, layer)

新しい透明レイヤーを作成

new_layer = gimp.Layer(image, "Name1", width, hight, RGB_IMAGE, 100, NORMAL_MODE)
pdb.gimp_layer_add_alpha(new_layer)
pdb.gimp_edit_clear(new_layer)
new_layer.fill(TRANSPARENT_FILL)

イメージにレイヤーを追加

pdb.gimp_image_insert_layer(image, new_layer, None, 0)
イメージの先頭(0番目)にレイヤーを追加。3番目のパラメタは親レイヤーを指定するらしいですが?とりあえずNoneを指定

イメージに含まれるレイヤーの一覧を列挙

image.layers
imageオブジェクトのlayersプロパティを参照するとレイヤーオブジェクトの配列が取得できる

レイヤーをPNG形式でエクスポート

pdb.gimp_file_save(image, new_layer, "F:/current/new_layer.png", "")

レイヤーの更新

layer.flush()
layer.update(0,0,layer.width,layer.hight)
レイヤーをスクリプトで変更した後に実行することで変更内容が表示に反映されます。

コメント