【问题标题】:gimp python plug in: how to trigger another user inputgimp python插件:如何触发另一个用户输入
【发布时间】:2016-12-31 15:43:42
【问题描述】:

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

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

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

换句话说: 如何从插件的主要功能中触发(注册的)带有用户输入窗口的插件?

【问题讨论】:

    标签: python plugins gimp python-fu


    【解决方案1】:

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

    • 一个有点笨拙的对话框,它要求输入两个参数,并且会根据图像格式忽略一个或另一个,
    • 两个不同对话框的两个菜单项,一个用于 PNG,一个用于 JPG。

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

    然而...... JPEG 质量并不是它的全部,实际上还有很多选择(恕我直言,色度子采样至少与质量一样重要),为了满足所有需求,您最终可能会得到一个相当复杂的对话。所以你可以:

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

    【讨论】:

    • 很好的答案 - 在我的情况下,它是一个批处理脚本来保存所有图层。有兴趣可以看srcon github
    • ...和 ​​批处理 我的意思是 堆栈处理
    • 也可以在第一个自动构建的屏幕之后使用更简单的 GTK+ 对话框 - 此答案中的代码可以用作模板:stackoverflow.com/questions/8290740/…
    猜你喜欢
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    相关资源
    最近更新 更多