如何在script-fu (scheme)控制台复制层?
以下是我到目前为止所做的工作:
(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的价值是什么呢?我想在现有的图层上插入副本,就像在图层停靠中复制图层一样。但是我找不到任何返回堆栈中层的"position“的函数(因为script-fu过程浏览器调用gimp-image-insert- layer的第四个参数)。例如,"gimp-layer-get-*“函数似乎都不指向位置。我试着在网上搜索这个,但大多数人用"position“来指代图层的偏移,这是完全不相关的事情。(gimp-image-insert-layer 1 (gimp-layer-copy 2 TRUE) 0 n)
发布于 2019-05-06 04:44:22
用(car (gimp-image-get-item-position 1 2))代替n
或者一般情况下:
(car (gimp-image-get-item-position IMG LAYER))
发布于 2019-05-06 05:52:20
n是层在层堆栈中的位置,0在顶部(所以要在底部插入,n是当前的层数)。
注意,如果你写了一个真实的脚本,图像和层可以作为参数自动传递(当列表中有多个图像时,很难判断用户感兴趣的是哪一个,而参数中的那个是用户正在与之交互的图像)。
此外,如果这是您第一次尝试Gimp脚本编程,请不要忽略您可以用Python编写脚本(这通常要容易得多)。
https://stackoverflow.com/questions/55996224
复制相似问题