Gimp :移动图层在图像中的位置

Gimp : To move a layer's position within an image

我在 GIMP Script-fu 和程序浏览器中遇到了一个简单的问题。

我正在尝试在具有 40 层的图像中移动层 up/down。 让我们调用图像 test.xcf 和所述层 Chromask-snapshot.

  1. 注意:层 X Y 偏移不是正在更改的内容。
  2. 我希望将单个图层移动到 test.xcf 图层列表中我需要的任何位置。

例如。我在 text.xcf 中将许多层的可见性设置为 0。 然后 我使用 gimp-layer-new-from-visible 拍摄快照并将图层添加到 现在问题来了 该函数接受我的字符串(作为新层的名称传递)并忠实地拍摄快照并将其粘贴在层列表的顶部,并使用我指定的名称。

我不希望它出现在图像中图层列表顶部的默认位置。我需要它位于 11 或 37 或其他位置(例如)。

我没能找到一个程序解决方案,我通过它在图像堆栈中取一个图层并根据需要向上或向下移动它。

感叹

非常感谢您的所有评论。

拍摄快照后,您必须将其添加到目标图像中,为此 已弃用的 gimp-image-add-layer() 和新的 gimp-image-insert-layer() 都将图层位置作为最后一个参数(0 是堆栈顶部)。

而且gimp-image-raise-item()gimp-image-lower-item()gimp-image-raise-item-to-top()gimp-image-lower-item-to-bottom()全套都给你了,以后是不是要调整位置呢

只需使用 gimp-image-reorder-item 调用 - 传递 None(在 tiny-fu 中为 -1)作为 Parent 参数。

(除非您已经精通 List/Scheme - 或者学习这些是您目标的一部分 - 我建议使用 Python 而不是 tiny-fu 编写脚本)