Script-Fu控制台上的GIMP复制层

时间:2019-05-05 20:39:48

标签: gimp script-fu

如何在脚本Fu(方案)控制台上复制图层?

这是我到目前为止所做的:

(gimp-image-list)

这告诉我对我的图片的引用是数字“ 1”。

接下来,我获得了要复制的特定图层的引用:

(gimp-image-get-layer-by-name 1 "frame25")

这样的结果告诉我层参考是数字“ 2”。

我没有看到用于复制图层的任何功能,但是我看到可以复制该图层,然后将其作为新图层插入。

(gimp-image-insert-layer 1 (car (gimp-layer-copy 2 TRUE)) 0 n)

但是n的值是什么?我想在现有图层的上方插入重复项,就像在Layers Dock中复制该图层一样。但是我还没有找到任何返回堆栈中该层的“位置”的函数(因为fu过程浏览器将第4个参数调用到gimp-image-insert-layer)。例如,“ gimp-layer-get- *”功能似乎都没有提到位置。我曾尝试在网络上进行搜索,但是大多数人都使用“位置”来指代图层的偏移量,这是完全无关的事情。 (gimp-image-insert-layer 1(gimp-layer-copy 2 TRUE)0 n)

2 个答案:

答案 0 :(得分:0)

n代替(car (gimp-image-get-item-position 1 2))

或一般而言:

(car (gimp-image-get-item-position IMG LAYER))

答案 1 :(得分:0)

n是层在堆栈中的位置,0在顶部(因此要插入到底部,n是当前的层数)。

请注意,如果您编写的是真正的脚本,则可以自动将图像和图层作为参数传递(当列表中有几张图像时,很难分辨出用户感兴趣的是哪一张,而参数中的那一张很难是用户正在与之交互的图像。

此外,如果这是您首次尝试Gimp脚本,请不要忽视您可以使用Python编写脚本(这通常要容易得多)。