Skip to content

classronin/pyvips-im

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cli.py - 图片格式转换与处理工具

由于 pyvips 支持并行处理,运行速度快,且无需将整张图像保存在内存中。

功能特性

  • 旋转翻转:右旋、左旋、左右翻转、上下翻转。
  • 容错率:右、左、左右、上下
  • 智能缩放:支持多种尺寸写法。
  • 批量处理:一键处理当前目录所有图片,自动创建输出文件夹。
  • 防覆盖:文件名冲突时自动添加序号,同时避免无限重复添加的错误。

克隆/安装与配置

git clone https://github.com/classronin/pyvips-im
uv vinv --python 3.15t
uv pip install pyvips

下载依赖

查看 libvips 发布

解压并重命名vips文件夹

项目结构

cli/
├── cli.py         # 命令行入口,主逻辑
├── operations.py  # 图像处理操作(vips调用)
├── utils.py       # 工具函数、常量
└── vips/           # 依赖文件夹
cli.bat         # Windows批处理脚本

vips 帮助

vips.exe -l
vips.exe --help
vipsedit.exe --help
vipsheader.exe --help
vipsthumbnail.exe --help
以上exe是可以运行对图像文件处理。

操作指令

  • 旋转:右旋 / (顺时针 90°)、左旋 / (逆时针 90°)
  • 翻转:左右翻转 / 左右上下翻转 / 上下
  • 批量:批量 /

尺寸指令

以下写法均可识别。

  • 纯数字:500 → 宽度 500,高度等比缩放。
  • 宽度缩写:500x → 同上。
  • 高度缩写:x500 → 高度 500,宽度等比缩放。
  • 固定盒子:500x800 → 将图片适配进 500×800 范围内,保持比例。
  • 中文写法:宽500宽度500高500高度500
  • 缩放拉伸:800x500!拉伸 800x500,完整im png 批 右 上下 拉伸 300x50 我的图像

单文件处理示例

# 转换为 PNG,右旋 90°
python cli.py png 右旋 photo.jpg

# 转换为 WebP,宽度缩放至 500
python cli.py webp 500 photo.png

# 转换为 JPG,高度缩放至 300
python cli.py jpg x300 photo.bmp

# 转换为 AVIF,限制在 800x600 范围内
python cli.py avif 800x600 photo.tiff

批量处理示例

# 将当前目录所有图片转为 PNG(输出至 我的图像 文件夹)
python cli.py png 批量 我的图像
python cli.py png 批量 "我的图像"

# 将当前目录所有图片转为 PNG(输出至 out-0 文件夹)如存在则 out-1,避免 out-0-0...无限重复。
python cli.py png 批量

# 批量转为 WebP,并统一宽度 800
python cli.py webp 批量 800

# 批量转为 JPG,先右旋再限制尺寸
python cli.py jpg 批量 右旋 500x500

通过 im.bat 快捷调用

@echo off
uv run --project "%SCRIPTS%\pyvips-im" python "%SCRIPTS%\pyvips-im\cli.py" %*

命令行:

im png 右 500 photo.jpg
im webp 批 800

注意事项

批量模式只处理当前目录下的图片文件,不递归子文件夹。 若输出文件已存在,会自动生成 文件名-0.扩展名 等序号文件。 尺寸参数中的 500x800 为最大边界限制,输出图片不会超过该尺寸,但会保持原始宽高比。

About

pyvips并行的图像处理库,无需保存在内存中。

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages