Gimp python-fu:如何从1 jpg和1 png创建和保存多层xcf?

时间:2017-03-06 16:43:13

标签: python gimp python-fu

我有一个包含每2个图像的大量目录列表:1个jpg文件和1个png文件;我想从外部脚本创建与jpg关联的所有.xcf作为第一层。在尝试使用python之后,我一直淹没在计划解释和其他相关主题中......有人可以帮助我做出这样的命令并理解它吗?

1 个答案:

答案 0 :(得分:1)

对于每对图像,通常都是这样的:

image=pdb.gimp_file_load(jpgImage,jpgImage)
layer=pdb.gimp_file_load_layer(image,pngImage)
image.add_layer(layer,0)
pdb.gimp_xcf_save(0,image,layer,outputImage,outputImage)

ofn-coalesce-images脚本执行的操作非常相似(堆叠目录中的所有图像)...

要在无头Gimp中运行这样的事情,请考虑从某个指定的根目录开始运行的.py:

def run(directory):
    # Iterates subdirs and creates images

这个.py不需要正式成为python插件(不需要注册()任何东西)。然后你可以使用:

启动它

Unix的肥胖型:

gimp -idf --batch-interpreter python-fu-eval -b 'import sys; sys.path=["."]+sys.path;import batch;batch.run("/some/path")' -b 'pdb.gimp_quit(1)'

视窗:

gimp -idf --batch-interpreter python-fu-eval -b "import sys;sys.path=['.']+sys.path;import batch;batch.run('/some/path')" -b "pdb.gimp_quit(1)"

(这有点令人费解,因为Linux和Windows在命令行中处理引号和双引号的方式有些相反)。