开发者日记5 分钟阅读
我做出了批量模式,因为一张张切 20 张图实在快把我逼疯了
一位经营 Instagram 珠宝品牌的朋友给我看她痛苦的工作流。于是我做了一个功能,60 秒内能把 50 张图切成完美九宫格。
几周前,一位在 Instagram 经营小型珠宝品牌的朋友找我帮忙。她刚结束一次拍摄,手里有 20 张产品照,想在接下来一个月里每张都发成 3x3 九宫格。
我观察了她的工作流,痛苦不堪——把一张图上传到某个网格制作网站、设为 3x3、下载 zip、刷新、再上传……光准备内容就花了她 30 多分钟。
她问:「难道就没有一个工具能让我把 20 张图一次扔进去、一键搞定吗?」
我没有答案。于是我做了一个。
欢迎使用批量模式
接下来几天我重写了 9grid 的核心逻辑以支持批量处理。目标是彻底消除「上传—配置—下载」的重复循环。
结果:现在切 20 张图大约 45 秒,而不是 30 分钟。
实际是怎么工作的(开发者视角)
我希望界面就像把文件丢进文件夹一样简单,最终的流程是:
1
一次扔进所有图:你可以一次拖入 10、20、甚至 50 张图。我去掉了不合理的人为上限。
2
设一次就不管了:只配置一次网格布局(如 3x3、JPG、Fill 模式),脚本会把这些设置自动套用到队列里的每一张图。
3
巨型 ZIP 文件:点「切割并下载」,浏览器跑完后生成一个组织好的 ZIP,里面每张原图都有自己的文件夹。
为什么在浏览器里做这件事是个大事
超快
如果要上传 50 张高清图到服务器,你得等一辈子。因为我用 HTML5 Canvas API 构建,处理在你本地完成。
完全私密
你未发布的产品图不会接触我的服务器。其实我根本就没有用于图像处理的服务器。100% 私密。
测试时学到的几个小贴士
开发过程中我处理了几百张测试图,下面这些可能对你有用:
批量优先用「Fill」模式:如果 20 张图比例各异(有些宽、有些高),强制 Fill 模式能保证每个格子被完美填满,不出现奇怪的留白边。
留意内存:一次扔进 100 张超大 RAW,Chrome 可能会抱怨。控制在合理批量(20-30 张 JPEG)体验最顺。