gimp python插件:如何触发另一个用户输入

时间:2016-12-31 15:43:42

标签: python plugins gimp python-fu

情况: 我的gimp python插件向用户显示了一个带有两个选项的下拉框 [“。jpg”,“。png”]

问题: 如何根据第一次输入显示带有条件内容的第二个输入窗口?

  • .jpg - > “质量”范围滑块[0 - 100]
  • .png - > “压缩”范围滑块[0 - 9]

用不同的词语表示: 如何从插件的主函数中触发带有用户输入窗口的(已注册)插件?

1 个答案:

答案 0 :(得分:2)

要么使用PyGTK(或者也许是tkinter)构建完整的GUI,要么找到另一种方式。通常,如果您坚持使用自动生成的对话框,您可以选择:

  • 一个有点笨拙的对话框,询问这两个参数,并根据图像格式忽略其中一个,
  • 两个不同对话框的两个菜单项,一个用于PNG,另一个用于JPG。

另一方面,我总是在我的PNG中使用压缩级别9(AFAIK其他级别的唯一好处是CPU时间,但这在现代机器中没有用)所以你的对话框只能要求JPEG质量。笨蛋不那么笨拙。

然而...... JPEG质量并非全部存在且实际上有很多选项(色度子采样至少与质量一样重要),为满足所有需求,您可能最终得到一个相当复杂的对话。所以你可以:

  • 只需使用当前用户的默认设置(gimp_file_save()
  • 进行保存
  • 从某些.ini文件中获取这些设置(它们比脚本的其他参数更改的可能性更小)
  • 不保存图像,让用户保存/导出为他/她喜欢(如果这不是批处理脚本)