跳到主要内容
CNode

分享一个纯浏览器端图片批量处理工具,支持工具链串联 + 本地 AI(WebGPU/WASM),文件不离开本地

分享
Kkbmjj123发布于 4 个月前最后回复 11 天前
420450

最近做了一个图片批量处理工具 bulkpictools.com,分享给有需要的同学。 背景 开发过程中经常需要批量处理图片:证件照压缩到指定 KB、App 图标批量导出多尺寸、电商主图加水印……市面上的工具要么限制单文件,要么需要上传到云端(隐私问题),要么几个操作分散在多个网站来回倒腾。 做了什么 核心是一个「工具链串联」功能: 上传200张图 → 批量压缩 → 转WebP → 裁剪1:1 → 下载 整个流程一次上传,结果直接流入下一个工具,不需要重复操作。 技术实现

图片处理:Canvas API + WebWorkers(不阻塞主线程) 本地 AI(背景移除、人脸模糊):ONNX Runtime Web,跑在 WebGPU / WASM 上,没有云端 API 调用 格式转换(HEIC/AVIF/WebP/SVG 等):纯客户端,零上传 框架:Nuxt 3

可以打开 DevTools → Network,验证没有图片数据发出去。 支持的操作(40+ 个工具) 压缩、格式转换(HEIC / AVIF / WebP / SVG)、裁剪、旋转、加水印、背景移除、人脸模糊、精确压缩到指定 KB…… 另外有几个场景页面直接打包好工作流:证件照、App图标导出、电商主图、社交媒体尺寸。 适合哪些场景

批量处理资源图,不想一张张来 敏感图片(身份证、合同截图)不想传到云端 没有 PS / Photoshop,需要快速完成简单图片操作

地址:BulkPicTools,免费,无需注册。 欢迎试用,有 bug 或建议欢迎留言 🙏

查看回复

回复 (4)

L
libredb#411 天前

工具挺实用的,「文件不离开本地」这点尤其好。

顺手提一个我们踩过的坑。运行时和你的不一样(我们跑的是 Ollama,不是 ONNX Runtime Web),但形状可能通用,值得一验:

本地模型的内存占用,常常不是由模型文件大小决定的,而是由上下文/缓冲区的默认上限决定的。 我们实测时,一个 7.1 GB 的模型在不限制上下文长度的情况下,会按它完整的 262,144 token 窗口去要内存,在一台 64 GB 的机器上实际占到 51 GB。差了十倍多。

最难受的不是占得多,而是日志里看不出来:你只会看到一次没跑完的运行,和「模型超时」长得一模一样。我们早期有一批评测数据就是被这个污染的,回头复查才发现。

放到浏览器里,对应的大概是 WASM 的内存上限和 WebGPU 的 buffer 上限。批量跑 200 张图的时候,如果 ONNX session 的 tensor 缓冲没有显式上限,可能也会先撞到这条线,而表现出来是「卡住」或者「标签页崩溃」,不是一条清楚的 OOM 报错。

如果你手上有批量处理跑挂过、但原因没查清的案例,值得回去按这个方向看一眼。

F
franciscuo#313 天前

"打开 Network 看没有图片发出去" 这句比隐私声明管用,放首页。Safari 上 WASM 回退慢多少?

F
feinir#214 天前

AI是趋势。

T
tyoutetu#13 个月前

看到了,很好用,我用里面的工具裁剪了一下图片用在我的游戏信息站上了: mecchachameleon-game.online

参与回复

登录后即可参与回复。登录