GIMP在Linux上如何实现批量处理
导读:使用Shell脚本结合GIMP命令行工具 Shell脚本是Linux下实现GIMP批量处理的基础方式,通过gimp-console(或gimp的批处理模式)配合循环结构,可自动化完成重复任务(如格式转换、缩放)。例如,批量将JPG图片缩放5...
使用Shell脚本结合GIMP命令行工具
Shell脚本是Linux下实现GIMP批量处理的基础方式,通过gimp-console(或gimp的批处理模式)配合循环结构,可自动化完成重复任务(如格式转换、缩放)。例如,批量将JPG图片缩放50%并保存为新文件,可编写如下脚本:
#!/bin/bash
for file in *.jpg;
do
gimp -i -b "(let* ((image (car (gimp-file-load RUN-NONINTERACTIVE \"$file\" \"$file\")))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale image (* (car (gimp-image-width image)) 0.5) (* (car (gimp-image-height image)) 0.5))
(gimp-file-save RUN-NONINTERACTIVE image drawable \"${
file%.jpg}
_scaled.jpg\")
(gimp-image-delete image))" -b "(gimp-quit 0)"
done
脚本说明:
for file in *.jpg:遍历当前目录下所有JPG文件;gimp -i:以无界面模式运行GIMP;-b:执行GIMP脚本(此处为缩放操作);-b "(gimp-quit 0)":处理完成后退出GIMP。
将脚本保存为batch_scale.sh,赋予执行权限(chmod +x batch_scale.sh)后运行即可。
使用BIMP插件(图形化批量处理)
BIMP(Batch Image Manipulation Plugin)是GIMP的常用批量处理插件,提供图形化界面,无需编写代码即可完成复杂操作(如调整大小、裁剪、颜色调整、格式转换)。
安装步骤:
- 下载BIMP插件(通常为
.zip格式); - 解压并将插件文件复制到GIMP插件目录(Linux下一般为
~/.config/GIMP/2.10/plug-ins/); - 重启GIMP使插件生效。
使用方法: - 打开GIMP,点击菜单栏“文件”→“批处理图像”;
- 点击“添加”按钮选择需处理的图片(支持多文件或文件夹批量导入);
- 在“操作”面板选择所需功能(如“调整大小”“裁剪”),设置参数(如宽度、高度、裁剪区域);
- 指定输出目录(“保存到”选项)和文件格式(如PNG、JPG);
- 点击“应用”开始批量处理。
使用Python-Fu脚本(高级自定义批量处理)
对于需要复杂逻辑的批量处理(如智能裁剪、滤镜叠加、元数据处理),可使用GIMP内置的Python-Fu脚本语言。Python-Fu支持访问GIMP的所有功能,灵活性更强。
示例脚本(批量调整图片大小并保存):
#!/usr/bin/env python
from gimpfu import *
def batch_resize(input_dir, output_dir, width, height):
# 确保输出目录存在
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 遍历输入目录中的图片文件
for filename in os.listdir(input_dir):
if filename.lower().endswith(('.png', '.jpg', '.jpeg')):
input_path = os.path.join(input_dir, filename)
output_path = os.path.join(output_dir, f"{
os.path.splitext(filename)[0]}
_resized{
os.path.splitext(filename)[1]}
")
# 加载图片
image = pdb.gimp_file_load(input_path, input_path)
drawable = pdb.gimp_image_get_active_layer(image)
# 调整大小(保持宽高比)
pdb.gimp_image_scale(image, width, height)
# 保存图片
pdb.gimp_file_save(image, drawable, output_path, output_path)
# 关闭图片
pdb.gimp_image_delete(image)
# 注册脚本
register(
"python_fu_batch_resize",
"Batch Resize Images",
"Resize all images in a directory to specified dimensions",
"Your Name", "Your Name", "2025",
"<
Image>
/File/Batch Resize...",
"",
[
(PF_DIRNAME, "input_dir", "Input Directory", ""),
(PF_DIRNAME, "output_dir", "Output Directory", ""),
(PF_INT, "width", "Target Width", 800),
(PF_INT, "height", "Target Height", 600)
],
[],
batch_resize
)
main()
使用步骤:
- 将脚本保存为
batch_resize.py; - 复制到GIMP插件目录(
~/.config/GIMP/2.10/plug-ins/); - 重启GIMP,通过“文件”→“批处理图像”菜单运行脚本;
- 输入参数(输入目录、输出目录、目标宽度/高度)即可批量处理。
使用ImageMagick替代方案(非GIMP原生,但更高效)
若不需要GIMP的高级图像编辑功能(如滤镜、图层),ImageMagick是更轻量级的批量处理工具,支持多种格式转换、缩放、旋转等操作,速度优于GIMP脚本。
示例命令(批量缩放JPG图片):
convert *.jpg -resize 50% output_%d.jpg
命令说明:
convert:ImageMagick的核心命令;*.jpg:匹配当前目录下所有JPG文件;-resize 50%:将图片缩放至原尺寸的50%;output_%d.jpg:输出文件名格式(%d为序号,如output_1.jpg、output_2.jpg)。
安装ImageMagick:
sudo apt-get install imagemagick # Debian/Ubuntu
sudo dnf install imagemagick # Fedora/CentOS
ImageMagick还支持更多高级功能(如添加水印、裁剪、调整亮度),可通过convert -help查看完整参数。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: GIMP在Linux上如何实现批量处理
本文地址: https://pptw.com/jishu/740149.html
