在gimp中,我有大约98层。我有一条路,我想在所有层上划过。有没有办法在没有单独浏览每一层的情况下做到这一点?
答案 0 :(得分:3)
您可以使用Python控制台轻松完成。关于如何使用它的更长或更短的提示我有几个答案 - 这是一个:https://superuser.com/questions/1067478/how-to-change-several-images-in-gimp-that-are-already-open/1067867?noredirect=1
在这种情况下,在拨打gimp.image_list()
并在该列表中选择目标图片并将其分配到image
变量后,只需拨打pdb.gimp_edit_stroke_vectors(...)
的电话即可图像上的图层。
因此,您的整个filters->Python-fu->Console
会话可能是:
image = gimp.image_list()[0]
for layer in image.layers:
pdb.gimp_edit_stroke_vectors(layer, image.vectors[0])
(如果你的图像是最后打开的图像(那么它在image_list上的位置将为'0')并且你的路径是路径对话框中最顶层的一个(它也将'0'作为索引)。
您可以在for循环内使用pdb.gimp_context_set_foreground
(或... set_brush和... set_dynamics,.. set_brush_size)的调用来更改相应的设置,因为您无需更改调用活跃的工具。使用Python控制台对话框底部的“浏览”按钮了解所有可能的调用。