我有一个包含20多个图层的.xcf文件,用于制作精灵文件。
我想将所有这些图层保存为单独的文件,只包含每个图层的内容和大小。
我为gimp找到了这个脚本:https://github.com/jiilee/gimp
不幸的是,脚本会创建具有图像完整大小的文件,而不是每个图层的大小。
举个例子: 图像宽700像素,高400像素。 一层放置在x:100px,y:29px,宽度:72px,高度:21px; 我找到的脚本生成一个700px x 400px的文件,而不是因为我需要72px x 21px。
是否可以自动执行此操作?
答案 0 :(得分:7)
是的,但我建议在这种情况下使用Python作为脚本语言,而不是脚本fu。 对于这样的东西,你甚至不需要插件,只需在过滤器上键入类似下面的东西 - > 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]
。)
导出图像的调用将drawable(可以是图层,蒙版或其他项)作为输入,并使用默认参数保存通过文件扩展名猜测类型的文件。
当然,您可以通过为文件创建更精细的命名方案来改进它,等等。要将这个核心变成一个自动化的python-fu插件,你只需将它放在一个函数中,放在个人插件目录的.py文件中。 (如果在Unix / Mac OS / Linux上你必须将其设置为可执行文件) - 并在同一文件中调用GIMP-fu的寄存器和主要功能 - 在这里选择一个示例http://www.ibm.com/developerworks/opensource/library/os-autogimp/,了解如何安排文件并进行这些调用。 (你可以直接进入清单6)。