gpt4 book ai didi

Gimp 将所有图层保存到具有图层大小的文件

转载 作者:行者123 更新时间:2023-12-02 07:32:21 26 4
gpt4 key购买 nike

我有一个包含 20 多个层的 .xcf 文件,我用它来制作 Sprite 文件。

我想将所有这些图层保存到单独的文件中,其中只有每个图层的内容和大小。

我为 gimp 找到了这个脚本:https://github.com/jiilee/gimp

不幸的是,该脚本创建的文件具有图像的完整大小,而不是每个图层的大小。

举个例子:具有 700 像素宽和 400 像素高的图像。图层放置在 x: 100px, y: 29px,宽度:72px,高度:21px;我找到的脚本生成了一个 700px x 400px 的文件,而不是我需要的 72px x 21px。

是否可以自动执行此操作?

最佳答案

是的,但在这种情况下我建议使用 Python 作为脚本语言,而不是 script-fu。对于这样的事情,你甚至不需要插件,你只需在 filters->python-fu->console

中输入如下内容即可
>>> img = gimp.image_list()[0]
>>> img.layers[0].name
'C'
>>> folder = "/tmp/"
>>> for layer in img.layers:
... name = folder + layer.name + ".png"
... pdb.gimp_file_save(img, layer, name, name)
...
>>>

完成!此代码片段假设在 GIMP 中打开了单个图像(它采用最后打开的列表中的图片默认为 [0]。)

导出图像的调用以可绘制对象(可以是图层、蒙版或其他项)作为输入,并使用默认参数通过文件扩展名猜测类型保存文件。

当然,您可以通过为文件创建更精细的命名方案等来改进它。要使这个核心成为一个自动工作的 python-fu 插件,你只需将它放在一个函数中,在你个人插件目录的一个 .py 文件中。 (如果在 Unix/Mac OS/Linux 上,您还必须将其设置为可执行文件) - 并在同一文件中调用 GIMP-fu 的寄存器和主要功能 -在这里选择一个例子,http://www.ibm.com/developerworks/opensource/library/os-autogimp/关于如何安排文件和进行这些调用。 (您可以直接转到 list 6)。

关于Gimp 将所有图层保存到具有图层大小的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20522304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com