我似乎找不到任何方法在python-fu接口的任何地方向另一个Group Layer添加Group Layer。
我也尝试在Gimp.Layer对象上找到方法,但没有运气。
如何使用python-fu?
将组图层添加到另一个图层组答案 0 :(得分:6)
在2.8版本发布之前的最后几分钟添加了对Python-fu上图层组的支持,并且相当不完整。
因此,在GIMP 2.8中创建合适的图层组的唯一方法是使用pdb调用:
group = pdb.gimp_layer_group_new(img)
group.name = "my group"
(在gimp 2.8上使用img.GroupLayer调用是错误的 - 应该是未来的方法)
获得论坛后,可以使用
将其插入图像的任何位置pdb.gimp_image_insert_layer(<img>, <layer>, <parent>, <position>)
喜欢在:
>>> img = gimp.Image(640, 480, RGB)
>>> pdb.gimp_display_new(img)
<display>
>>> 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电话。
更新(2015年2月) - gimp.GroupLayer()的错误在GIMP的git中得到修复,它将从GIMP 2.8.16开始正常运行。现在,添加新组图层所需要做的就是:
>>> g = gimp.GroupLayer(img)
>>> pdb.gimp_image_insert_layer(img, g, None, 0)