3

我有一个简单的问题在 GIMP Script-fu 和程序浏览器中困扰着我。

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

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

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

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

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

您的所有评论都非常感谢。

4

2 回答 2

3

拍摄快照后,您必须将其添加到目标图像中,为此,不推荐使用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()

于 2016-09-26T15:25:23.013 回答
2

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

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

于 2016-09-27T10:26:19.167 回答