它解决什么问题

图片处理大多是「简单动作 × 大量张数」,手工一张张做既慢又容易出错:

  • 相机 / iPhone 导出的照片是 HEIC,很多平台不认,要批量转成 JPG;
  • 公众号、电商要统一宽度的图,几百张一张张调尺寸太慢;
  • 要发出去的图太大,得压到 500KB 以下,还得尽量保住画质;
  • 一批照片要加同一个水印,手工加要一晚上;
  • 一堆动图要拆帧、几张长截图要拼成一张长图……

ImgTool 的答案很简单:一个文件夹拖进去,选个功能,一次全部处理完。不用写脚本,不用一张张点。

核心特性

  • 本地工具、图片不上传:纯本地运行,所有处理都在你自己的电脑上完成,图片不经过任何服务器,隐私安全有保障;
  • 真正的批量:支持文件 / 文件夹 / 通配符输入,可递归扫描子目录(--recursive),多线程并发处理(--jobs N);单张失败自动跳过、不中断整批,结束时汇总「成功 N / 失败 M / 跳过 K」;
  • 原生支持 HEIC / AVIF:基于 pillow-heif,iPhone / 相机导出的 HEIC 照片开箱即用,heic转jpg、avif转jpg 都不用先转格式;
  • 压缩实时预览:压缩页签拖动质量条,实时显示压缩后体积与原图对比,批量压缩图片所见即所得;
  • 绝不覆盖源文件:默认输出到源文件旁加后缀(如 a_resize.jpg),处理错了原图也还在,除非显式 --overwrite
  • 预演模式--dry-run 先看会输出哪些文件、写到哪,再真正动手;
  • GUI 可视化界面 + 命令行:不用敲命令,双击拖文件即用;也提供命令行模式批量处理;
  • 一键安装:安装包约 2.5MB,双击下一步即完成,首次运行自动配好环境。

九大功能一览

功能干什么典型用法
格式转换JPG / PNG / WebP / HEIC / AVIF / GIF / TIFF / ICO 等互转iPhone 的 HEIC 批量转 JPG
压缩固定质量,或按目标体积自动降质逼近一批图压到 500KB 以内
缩放按宽度 / 高度 / 比例 / 最长边统一成 1920 宽
裁剪按比例 / 指定区域 / 中心定尺寸裁成 16:9
旋转角度 / 水平垂直翻转 / 按 EXIF 自动转正手机拍歪的图自动转正
水印文字 / 图片水印,九宫格定位或平铺批量加「© 版权」
拼图横排 / 竖排 / 网格拼成一张多张截图拼一张长图
GIF拆帧 / 多帧合成 / 取封面动图拆成一帧帧
信息查看格式 / 尺寸 / 体积 / EXIF 摘要一批图的信息一次摸清

其中转换 / 压缩 / 缩放 / 裁剪 / 水印在图形界面里就有页签;拼图、GIF、信息等用命令行调用。

GUI 可视化工具怎么用(无需命令行)

  • 拖放建队列:图片文件或文件夹直接拖进窗口,生成缩略图队列,一眼看清装了哪些图;
  • 功能页签:转换 / 压缩 / 缩放 / 裁剪 / 水印,选一个,整批处理;
  • 压缩实时预览:拖动质量条,实时显示压缩后体积与前后对比;
  • 输出目录可选:不选时默认输出到各源文件旁(加后缀,不覆盖源文件);
  • 处理完一键打开结果文件夹;暗 / 亮主题、无边框自绘标题栏,窗口可拖拽缩放。

命令行(CLI)速查

新开一个终端,命令是 py-tools-imgtool(子命令驱动):

:: HEIC 照片批量转 JPG
py-tools-imgtool convert *.heic --to jpg -o out/

:: 整个文件夹的照片压到 500KB 以内(递归、8 线程并发)
py-tools-imgtool compress photos/ --max-size 500k --recursive --jobs 8

:: 批量缩放到 1920 宽
py-tools-imgtool resize photos/ -W 1920 -o out/

:: 裁成 16:9
py-tools-imgtool crop a.jpg --ratio 16:9

:: 按 EXIF 自动转正
py-tools-imgtool rotate a.jpg --exif

:: 批量加文字水印(右下角)
py-tools-imgtool watermark 图.jpg --text "© 张三" -p br

:: 多张图拼成一张长图
py-tools-imgtool stitch a.jpg b.jpg --dir h -o out.jpg

:: 动图拆成帧
py-tools-imgtool gif split a.gif -o frames/

:: 查看一张图的完整信息(JSON 输出,可管道给脚本 / AI)
py-tools-imgtool info 图.jpg --json

常见问题

  • HEIC 怎么转 JPG?已内置 pillow-heif,包导入时自动注册,HEIC / AVIF 开箱即用。GUI 里把 heic 文件拖进窗口、选「转换」页签、输出 JPG 即可批量转换;命令行用 py-tools-imgtool convert *.heic --to jpg
  • 图片会上传吗?安全吗?不会。ImgTool 是纯本地工具,所有处理都在你自己的电脑上离线完成,图片不经过任何服务器、数据不上传,放心处理私密照片。
  • 为什么下载 / 运行时 Windows 提示「未知发布者」甚至拦截?因为安装包没有商业数字签名(个人开发者出品、暂无签名证书),这是无签名软件的常见提示,并非病毒——浏览器拦截下载时点「保留 / 仍然下载」,Windows 弹窗点「更多信息 → 仍要运行」即可;首次启动联网下载 Python 运行环境也是正常行为,允许放行即可。
  • 会覆盖我的原图吗?不会。默认输出到源文件旁加后缀(如 a_resize.jpg),绝不覆盖源文件;要覆盖需显式加 --overwrite
  • 支持哪些格式?jpg / jpeg / png / webp / gif / bmp / tif / tiff / ico / heic / heif / avif。
  • 图形界面打不开?依赖系统 WebView2 运行时(Win10 / Win11 通常自带)。
  • 和 PaperFix 是什么关系?都是 mdview 出品:ImgTool 是通用图片批处理工具箱;PaperFix 专治「拍歪的纸张照片」,一键拉正 + 扫描效果。

总结

图片处理真正费时间的从来不是单张,而是成百上千张的重复劳动。ImgTool 把最常见的批量需求(批量压缩图片、heic转jpg、图片格式转换、批量改尺寸 / 裁剪 / 加水印,外加拼图 / GIF 拆帧 / 信息)装进一个免费小工具:GUI 可视化拖个文件夹进来、点一下、整批完事,还带 HEIC 原生支持、纯本地运行数据不上传和不覆盖源文件的安心保证。和本系列的 MarkItDown / AnyDoc / Pandoc / BrowserUse,以及专治拍歪纸张的 PaperFix 凑一块儿,文档处理、浏览器自动化、图片批处理都齐活了。一键安装,现在就可以免费下载试试。