AI玩法
围绕商品图片制作、交付、验收与维护的实践文章。
AI玩法 · 43 篇 · 第 5/6 页

批量出图别无限重试:实现有限并发的任务执行器
批量图片任务可以用有限并发执行器保留逐项结果,并只重试明确标为暂时性的错误。下面实现并发上限、最大尝试次数与原输入顺序结果。它不调用模型接口,不取消外部请求,也不具备进程重启恢复能力,适合解释任务控制,不能直接当完整生产队列。

商品图预览反复替换:用小对象管理 Object URL 的释放
商品图预览用Object URL时,可以让一个小对象负责替换与释放,避免每次选文件只增加新地址却不清理旧引用。createObjectURL产生浏览器内部可引用的资源地址,revokeObjectURL在不再需要时释放对应引用。[1][2] 下面把图片预览的生命周期放在同一个管理对象里。

用 Node.js 给 PNG 商品图做一道文件检查
图片制作完成以后,运营仍可能收到尺寸过小、体积过大,甚至扩展名与内容不相符的文件。本文实现一道本地 PNG 预检:读取文件签名和 IHDR 宽高,按项目配置输出告警,不修改原图,不上传图片。

商品图适配不同版位:一个不拉伸图片的浏览器裁切函数
把同一张商品图用于正方形卡片和竖版内容,直接修改宽高,会让瓶子变胖或变瘦。只保持比例,又可能留下大块空白。这里实现的是第三种选择:保持比例,通过中心裁切填满目标画布。

商品海报字放不下时,先别继续缩小字号
做一张商品海报,最初只有一个标题。后来加上规格、材质、使用场景、活动信息和一排小卖点,文字挤了,商品也变小了。继续缩字号能让文件看起来“排得下”,却没有说明读者在实际入口能看清什么。

用 Node.js 给商品图片建立 SHA-256 指纹清单
图片文件叫“最终版.png”,后来同名文件又被覆盖了,上传记录却仍然写着旧名称。只按文件名核对资产,就可能分不清上次实际用的是哪份内容。这里实现一个本地文件清单函数:为文件读取字节数与SHA-256,并把调用方提供的商品信息一起记录。

商品图预览反复替换:把 Object URL 的释放交给一个小对象
做一个商品图选择器,用户上传图片,前端用 URL.createObjectURL(file) 给img显示。换一张图片,再创建一个URL;关闭面板以后,上一张图已经看不见了,但代码是否还记得释放它?问题不在界面有没有清空,而在谁拥有这些对象URL的生命周期。

用 Pillow 给商品图做尺寸与方向预检
批量上新前,先把图片能否正常打开、方向是否正确、长宽是多少查清楚。这个步骤不生成新图,只是给运营一张检查表。商品图尺寸调整如果放在验收之前,很容易把横竖混乱或打不开的原片带进后续流程。