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