温馨提示×

debian gimp怎样批量处理

小樊
42
2026-10-28 16:10:02
栏目: 智能运维

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


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

GIMP 支持无界面(headless)运行,通过 Scheme 脚本 或 Python-Fu 批量处理。

1️⃣ 使用命令行 + Script-Fu(Scheme)

适合简单统一操作(如转格式、缩放)。

示例:批量把 /home/user/in/*.png 转为 JPG

写脚本 batch-convert.scm

(define (batch-convert pattern outdir)
  (let* ((files (cadr (file-glob pattern 1))))
    (while files
      (let* ((filename (car files))
             (image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
             (drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE))))
        (gimp-file-save RUN-NONINTERACTIVE image drawable
          (string-append outdir "/" (car (gimp-image-get-filename image)) ".jpg")
          ".jpg")
        (gimp-image-delete image))
      (set! files (cdr files)))))

运行

gimp -i -b '(batch-convert "/home/user/in/*.png" "/home/user/out")' -b '(gimp-quit 0)'

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

Debian 默认 GIMP 已带 Python 支持(若没有可安装 gimp-python)。

示例:批量缩放并导出

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

def batch_resize(input_dir, output_dir, width):
    import os
    for f in os.listdir(input_dir):
        path = os.path.join(input_dir, f)
        image = pdb.gimp_file_load(path, path)
        pdb.gimp_image_scale(image, width, int(width * image.height / image.width))
        out = os.path.join(output_dir, f)
        pdb.gimp_file_save(image, image.active_layer, out, out)
        pdb.gimp_image_delete(image)

register(
    "python-fu-batch-resize",
    "Batch resize",
    "Batch resize images",
    "You",
    "You",
    "2024",
    "Batch Resize",
    "*",
    [],
    [],
    batch_resize
)

main()

运行:

gimp -i -b 'python-fu-batch-resize RUN-NONINTERACTIVE "/in" "/out" 800' -b '(gimp-quit 0)'

三、使用 GIMP 插件(GUI 方式)

如果你更喜欢点鼠标:

推荐插件

  • BIMP(Batch Image Manipulation Plugin)
    • 支持:缩放、格式转换、水印、重命名
    • 安装:
      sudo apt install gimp-plugin-registry
      
      或手动编译 BIMP

使用:

GIMP → Filters → Batch Image Manipulation

四、不想用 GIMP?Debian 更高效的替代

如果你只是批量处理(非复杂修图),以下更快:

  • ImageMagick
    mogrify -resize 800x -format jpg *.png
    
  • parallel + convert
  • ffmpeg(图片序列)

总结建议

需求 推荐方式
简单转格式 ImageMagick
复杂 GIMP 操作 Python-Fu
不想写脚本 BIMP
服务器无界面 gimp -i -b

如果你能告诉我:
✅ 要处理什么(缩放 / 水印 / 调色 / 格式)
✅ 是否有 GUI
✅ Debian 版本

我可以直接给你可用脚本。

0 踩