好吧,我终于让它工作了。我使用GIMP
Python脚本创建了一个gimp插件,该插件可以做很多事情,包括您提到的图层。然后,您可以从命令行运行gimp,并将参数传递给python
gimp脚本。在Gimp批处理模式下使用Python-Fu的文章是学习如何从命令行调用gimp插件的绝佳资源。下面的示例将指定的图像加载到gimp中,将其水平翻转,保存并退出gimp。
flip.py是gimp插件,应放在您的插件目录中(在我的情况下为〜/ .gimp-2.6 / plug-ins / flip.py)。
flip.py
from gimpfu import pdb, main, register, PF_STRINGfrom gimpenums import ORIENTATION_HORIZonTALdef flip(file): image = pdb.gimp_file_load(file, file) drawable = pdb.gimp_image_get_active_layer(image) pdb.gimp_image_flip(image, ORIENTATION_HORIZONTAL) pdb.gimp_file_save(image, drawable, file, file) pdb.gimp_image_delete(image)args = [(PF_STRING, 'file', 'GlobPattern', '*.*')]register('python-flip', '', '', '', '', '', '', '', args, [], flip)main()从终端可以运行以下命令:
gimp -i -b '(python-flip RUN-NonINTERACTIVE "/tmp/test.jpg")' -b '(gimp-quit 0)'
或从Windows cmd:
gimp-console.exe -i -b "(python-flip RUN-NonINTERACTIVE """<test.jpg>""")" -b "(gimp-quit 0)"
或者您可以使用以下命令从python脚本运行相同的命令:
from subprocess import check_outputcmd = '(python-flip RUN-NonINTERACTIVE "/tmp/test.jpg")'output = check_output(['/usr/bin/gimp', '-i', '-b', cmd, '-b', '(gimp-quit 0)'])print output
我测试了两者,以确保它们都能正常工作。每次运行脚本后,您应该看到图像被翻转。



