Linux下GIMP批量处理图片的常用方法
Shell脚本是最基础的批量处理方式,通过gimp命令结合参数实现自动化操作。
示例:批量将JPG转换为PNG格式
batch_convert.sh,内容如下:#!/bin/bash
input_dir="/path/to/input" # 输入目录
output_dir="/path/to/output" # 输出目录
mkdir -p "$output_dir" # 创建输出目录(可选)
for file in "$input_dir"/*.jpg; do
filename=$(basename "$file" .jpg)
gimp -i -b "(let* ((img (car (gimp-file-load RUN-NONINTERACTIVE \"$file\" \"$file\")))
(drawable (car (gimp-image-get-active-layer img))))
(gimp-file-save RUN-NONINTERACTIVE img drawable \"$output_dir/$filename.png\" \"$output_dir/$filename.png\")
(gimp-image-delete img))" -b "(gimp-quit 0)"
done
chmod +x batch_convert.sh./batch_convert.sh.jpg文件,用GIMP加载后保存为PNG格式,最后退出GIMP。可根据需求修改操作(如调整大小、添加水印等)。Python-Fu是GIMP的官方Python插件,支持更灵活的批量处理(如图像分析、复杂滤镜组合)。
示例:批量调整图片大小并保存
~/.gimp-2.x/plug-ins/)。batch_resize.py,内容如下:#!/usr/bin/env python
from gimpfu import *
import os
def batch_resize(input_folder, output_folder, width, height):
"""批量调整图片大小"""
if not os.path.exists(output_folder):
os.makedirs(output_folder)
for filename in os.listdir(input_folder):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
filepath = os.path.join(input_folder, filename)
image = pdb.gimp_file_load(filepath, filepath)
drawable = pdb.gimp_image_get_active_layer(image)
pdb.gimp_image_scale_full(image, width, height, INTERPOLATION_LANCZOS) # 高质量缩放
output_path = os.path.join(output_folder, f"{os.path.splitext(filename)[0]}_resized.jpg")
pdb.gimp_file_save(image, drawable, output_path, output_path)
pdb.gimp_image_delete(image)
register(
"python_fu_batch_resize",
"批量调整图片大小",
"将指定文件夹内的图片调整为统一尺寸",
"Your Name", "Your Name", "2025",
"<Toolbox>/Xtns/Languages/Python-Fu/批量调整大小",
"", # 无输入图像时可用
[
(PF_DIRNAME, "input_folder", "输入文件夹", ""),
(PF_DIRNAME, "output_folder", "输出文件夹", ""),
(PF_INT, "width", "宽度(像素)", 800),
(PF_INT, "height", "高度(像素)", 600)
],
[],
batch_resize)
main()
~/.gimp-2.8/plug-ins/),并赋予执行权限:chmod +x ~/.gimp-2.8/plug-ins/batch_resize.py。Xtns > Languages > Python-Fu > 批量调整大小,设置输入/输出文件夹及尺寸,点击“确定”即可运行。BIMP(Batch Image Manipulation Plugin)是GIMP的第三方批量处理插件,提供图形界面,适合新手使用。
安装与使用步骤:
sudo apt-get install bimp(Debian/Ubuntu)或通过GIMP插件管理器下载安装。文件 > 批量图像操作。除GIMP自身外,可结合ImageMagick(更轻量的命令行工具)实现更高效的批量处理,适合简单操作(如格式转换、缩放)。
示例:批量将JPG转换为PNG
convert *.jpg -resize 50% output_%d.png
说明:*.jpg匹配当前目录下所有JPG文件,-resize 50%将图片缩小至50%,output_%d.png生成带序号的输出文件(如output_1.png、output_2.png)。