在 Linux 下用 GIMP 做批量处理,常见有 3 种方式,从简单到高级:
GIMP 支持无界面运行,并用 Script-Fu(Scheme)脚本批量处理。
例如:把图片批量转成 JPG(保存为 batch-export.scm)
(define (batch-export pattern)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-merge-visible-layers image CLIP-TO-IMAGE))))
(file-jpeg-save RUN-NONINTERACTIVE
image drawable
(string-append filename ".jpg")
(string-append filename ".jpg")
0.9 0 1 1 ""))
(set! filelist (cdr filelist)))))
gimp -i -b '(batch-export "*.png")' -b '(gimp-quit 0)'
✅ 优点:原生 GIMP
❌ 缺点:脚本写起来麻烦
Bimp 是 GIMP 的批量处理插件,GUI 操作。
sudo apt install gimp gimp-plugin-registry
或手动安装 Bimp:
git clone https://github.com/alessandrofama/bimp
cd bimp
make
sudo make install
Filters → Batch Image Manipulation✅ 优点:可视化、功能全
❌ 缺点:依赖插件
如果只是格式转换、缩放、水印,ImageMagick 更高效。
mogrify -resize 800x -format jpg *.png
或:
for f in *.png; do
convert "$f" -quality 90 "${f%.png}.jpg"
done
✅ 优点:快、简单
❌ 缺点:不是 GIMP
| 需求 | 推荐方式 |
|---|---|
| 格式转换 | ImageMagick |
| 加水印 | Bimp |
| 复杂图层处理 | GIMP Script-Fu |
| 自动流水线 | GIMP + shell |
如果你能说一下具体要批量做什么(比如:缩放、转格式、加水印、调色),我可以给你现成命令或脚本。