在
Windows环境中,我想调用GIMP来执行python-fu脚本(通过BAT文件),但我正在使用的命令行调用不会产生预期的结果.
例如,考虑以下名为makeafile_and_quit.py的python-fu脚本,该脚本位于我的GIMP插件文件夹中.其目的是加载现有图像并以不同的名称保存:
#!/usr/bin/env python # Sample call from GIMP's python-fu console: # pdb.python_fu_makeafile_and_quit_script() from gimpfu import * def makeafile_and_quit( ) : FILEPATH = 'C:\\path\\to\\file.JPG' IMAGE = pdb.gimp_file_load( FILEPATH,FILEPATH ) pdb.gimp_file_save( IMAGE,pdb.gimp_image_get_active_drawable( IMAGE ),FILEPATH + '_2.jpg',FILEPATH + '_2.jpg' ) pdb.gimp_quit(0) return # PLUGIN REGISTRATION # This is the plugin registration function register( 'makeafile_and_quit_script','v0.0','A new concept','Author','Just now','<ToolBox>/MyScripts/This will make a file and _QUIT','',[],makeafile_and_quit ) main()
如果从GIMP的“GUI实例”调用脚本,通过菜单调用脚本,脚本执行完美.它在与源文件相同的文件夹中生成以“_2.jpg”结尾的新文件.
"C:\Program Files\GIMP 2\bin\gimp-2.8.exe" --batch '("makeafile_and_quit.py")' -b "(gimp-quit 0)"
创建GIMP实例,然后关闭,但即使看到成功执行消息批处理命令,也不会创建文件.
如何从命令行重复与“GUI实例”完全相同的行为?
解决方法
从我的Windows档案:
gimp -idf -b "yourscript" -b "pdb.gimp_quit(1)"