私はグループレイヤーを別のグループレイヤーにpython-fuインターフェースのどこにでも追加する方法は見つけられません。
私はGimp.Layerオブジェクトのメソッドを見つけようとしましたが、運がありません。
python-fuを使ってグループレイヤーを別のグループレイヤーに追加するにはどうすればよいですか?
Python-fuのレイヤーグループのサポートは、2.8リリース前の最後の数分で追加され、むしろ不完全です。
したがって、GIMP 2.8で適切なレイヤーグループを作成する唯一の方法は、pdb呼び出しを使用することです。
group = pdb.gimp_layer_group_new(img)
group.name = "my group"
(img.GroupLayer呼び出しを使用すると、gimp 2.8でバグが発生します - これからの方法です)
グループを作成したら、画像の任意の場所に
pdb.gimp_image_insert_layer(
, , , )
のように:
>>> img = gimp.Image(640, 480, RGB)
>>> pdb.gimp_display_new(img)
>>> parent_group = pdb.gimp_layer_group_new(img)
>>> child_group_1 = pdb.gimp_layer_group_new(img)
>>> child_group_2 = pdb.gimp_layer_group_new(img)
>>> grand_child_group = pdb.gimp_layer_group_new(img)
>>> img.add_layer(parent_group, 0)
>>> pdb.gimp_image_insert_layer(img, child_group_1, parent_group,0)
>>> pdb.gimp_image_insert_layer(img, child_group_2, parent_group,1)
>>> pdb.gimp_image_insert_layer(img, grand_child_group, child_group_1,0)
>>> l1 = gimp.Layer(img, "test", 320,240)
>>> pdb.gimp_image_insert_layer(img,l1, grand_child_group,0)
したがって、実際には、極端なAPIの非対称性があります。親となるレイヤーやグループを親に「add_layer」メソッドで追加しますが、レイヤーグループに追加するか、 あなたはpdb.gimp_image_insert_layer呼び出しをtroguhに行かなければなりません。
update (Feb/2015) - The bug for gimp.GroupLayer() is fixed in GIMP's git and it will work properly from GIMP 2.8.16 onward. Now all one has to do to add a new group layer is:
>>> g = gimp.GroupLayer(img)
>>> pdb.gimp_image_insert_layer(img, g, None, 0)