在 Ubuntu 下用 GIMP 做批处理,常见有 3 种方式,从简单到进阶:
Babl / GIMP Batch Mode(命令行)GIMP 支持 非交互模式 运行脚本。
for f in *.png; do
gimp -i -b "(file-png-load 1 \"$f\" \"$f\")" \
"(gimp-file-save 1 (car (gimp-image-list)) \"${f%.png}.jpg\" \"${f%.png}.jpg\")" \
"(gimp-quit 0)"
done
⚠️ 这种方式语法复杂,不推荐新手。
例如:批量缩放图片到 800px 宽
(define (batch-resize pattern width)
(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-active-drawable image))))
(gimp-image-scale image width (* width (/ (car (gimp-image-height image)) (car (gimp-image-width image)))))
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))
保存为:batch-resize.scm
放入:
~/.config/GIMP/2.10/scripts/
运行:
gimp -i -b "(batch-resize \"*.jpg\" 800)" -b "(gimp-quit 0)"
sudo apt install gimp
然后安装 Bimp:
sudo add-apt-repository ppa:otto-kesselgulasch/gimp
sudo apt update
sudo apt install gimp-plugin-registry
或手动:
git clone https://github.com/alessandrofama/bimp
cd bimp
make
sudo make install
Filters → Batch Image Manipulation✅ 不需要写代码,适合所有人
如果你只是:
可以用:
# ImageMagick
mogrify -resize 800x *.jpg
或
# parallel + convert
| 需求 | 推荐方式 |
|---|---|
| 完全不会代码 | ✅ Bimp |
| 想学 GIMP 脚本 | Script-Fu |
| 极简命令行 | ImageMagick |
如果你告诉我:
我可以直接给你一套可复制的方案。