温馨提示×

debian gimp如何批量处理

小樊
58
2026-09-28 20:05:15
栏目: 智能运维

在 Debian 下使用 GIMP 批量处理图片,常见有几种方式,从简单到进阶:


一、使用 GIMP 自带「批处理模式」(命令行)

GIMP 支持无界面运行脚本(batch mode),适合简单统一操作。

示例:批量转换图片为 PNG

gimp -i -b '(batch-convert "*.jpg" "png")' -b '(gimp-quit 0)'

不过 GIMP 默认没有 batch-convert,需要写 Script-Fu 或 Python-Fu 脚本。


二、使用 Script-Fu(GIMP 自带脚本)

  1. 编写 Script-Fu 脚本(Scheme 语法)
  2. 放入:
    ~/.config/GIMP/2.10/scripts/
    
  3. 命令行调用:
    gimp -i -b '(script-fu-batch-resize "*.jpg" 800 600)'
    

适合:

  • 批量缩放
  • 批量加水印
  • 批量格式转换

三、使用 Python-Fu(推荐,更灵活)

Debian 安装:

sudo apt install gimp python3-gimp

示例(批量缩放):

#!/usr/bin/env python3
from gimpfu import *

def batch_resize(path, width):
    for file in glob(path):
        image = pdb.gimp_file_load(file, file)
        pdb.gimp_image_scale(image, width, int(width * image.height / image.width))
        pdb.gimp_file_save(image, image.active_layer, file, file)

register(...)
main()

运行:

gimp -i -b '(python-fu-batch-resize RUN-NONINTERACTIVE "*.jpg" 1024)'

四、GIMP + xargs(简单批处理)

如果只是调用 GIMP 处理:

ls *.jpg | xargs -I{} gimp -i -b -c '(gimp-file-load RUN-NONINTERACTIVE "{}" "{}")'

五、更推荐的替代方案(非 GIMP)

如果你只是批量处理,不一定非要用 GIMP:

  • ImageMagick(最简单)
    sudo apt install imagemagick
    mogrify -resize 800x *.jpg
    
  • parallel + GIMP
  • Darktable / RawTherapee(RAW 批处理)

六、总结建议

需求 推荐方式
简单格式/尺寸 ImageMagick
必须用 GIMP Python-Fu
复杂后期 Darktable
自动化服务器 GIMP batch + cron

如果你能说明:

  • 要处理什么(缩放 / 水印 / 调色)
  • 图片数量
  • 是否必须 GIMP

我可以给你具体可直接用的脚本。

0 踩