【问题标题】:GIMP duplicate layer at script-fu consolescript-fu 控制台上的 GIMP 复制层
【发布时间】:2019-05-05 20:39:48
【问题描述】:

如何在 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 的值是多少?我想在现有图层的正上方插入副本,就像在图层停靠中复制图层一样。但是我还没有找到返回堆栈中层的“位置”的任何函数(因为 script-fu 过程浏览器调用第 4 个参数到 gimp-image-insert-layer)。例如,“gimp-layer-get-*”函数似乎都没有引用位置。我尝试在网上搜索过这个,但大多数人使用“位置”来指代图层的偏移量,这是一个完全不相关的东西。 (gimp-image-insert-layer 1 (gimp-layer-copy 2 TRUE) 0 n)

【问题讨论】:

    标签: gimp script-fu


    【解决方案1】:

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

    一般来说:

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多