You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GIMP Python脚本:能否交互式调用bump-map功能?

Python脚本交互式调用GIMP 2.10 Bump-Map的实现方法

可行性说明

完全可行。GIMP 2.10的Python-Fu API支持直接调用滤镜功能,并通过指定参数触发交互式配置窗口,让你可以像手动操作一样调整Bump-Map的各项参数。

具体操作步骤

  1. 准备脚本文件
    创建一个Python脚本(比如interactive-bump-map.py),内容如下:

    from gimpfu import *
    
    def trigger_interactive_bump_map():
        # 获取当前活动图像与图层
        image = gimp.image_list()[0]
        drawable = image.active_layer
        
        # 调用Bump-Map滤镜,启用交互模式
        # 参数说明:image, 目标图层, 凹凸图图层(None表示用当前图层), 方位角, 仰角, 深度, X偏移, Y偏移, 水位, 浮雕效果, 反转, 线性, 运行模式
        pdb.plug_in_bump_map(image, drawable, None, 135, 45, 5, 0, 0, 0, 0, True, False, RUN_INTERACTIVE)
    
    # 注册脚本到GIMP菜单
    register(
        "python_fu_trigger_interactive_bump_map",
        "Interactive Bump Map",
        "Launch Bump-Map filter with interactive settings window",
        "Your Name",
        "Your Name",
        "2024",
        "<Image>/Filters/Map/Interactive Bump Map",
        "*",  # 支持所有图像格式
        [],
        [],
        trigger_interactive_bump_map)
    
    main()
    
  2. 安装脚本
    将脚本放到GIMP的脚本目录:

    • Windows:C:\Program Files\GIMP 2\share\gimp\2.0\scripts 或 C:\Users\[你的用户名]\AppData\Roaming\GIMP\2.10\scripts
    • Linux:~/.config/GIMP/2.10/scripts
    • macOS:~/Library/Application Support/GIMP/2.10/scripts
  3. 运行脚本
    重启GIMP,打开目标图像后,依次点击 Filters > Map > Interactive Bump Map,即可弹出Bump-Map的交互式配置窗口。

交互式参数失效的解决办法

如果设置了RUN_INTERACTIVE但没弹出交互窗口,按以下步骤排查:

  • 确认参数顺序正确:GIMP的PDB函数参数顺序严格固定,plug_in_bump_map的最后一个参数必须是RUN_INTERACTIVE,前面的参数不能错位。可以在GIMP的Filters > Python-Fu > Console中输入pdb.plug_in_bump_map查看参数列表。
  • 确保常量导入正确:必须从gimpfu导入RUN_INTERACTIVE,不要手动写数字(比如1)代替常量,避免版本兼容问题。
  • 在GUI环境中调用:不要在批处理模式或无界面的GIMP环境下运行脚本,交互窗口只能在GIMP的图形界面中弹出。
  • 测试控制台调用:直接在Python-Fu控制台执行以下代码,验证是否弹出窗口:
    image = gimp.image_list()[0]
    drawable = image.active_layer
    pdb.plug_in_bump_map(image, drawable, None, 135, 45, 5, 0, 0, 0, 0, True, False, RUN_INTERACTIVE)
    
  • 检查脚本注册状态:重启GIMP后,如果菜单中找不到你的脚本,说明脚本路径有误或代码有语法错误,可以在Filters > Python-Fu > Console中执行main()手动加载脚本,查看报错信息。

内容的提问来源于stack exchange,提问作者Hanna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 23:00:57