AI 一次给你 20 个道具图标,问题高度一致:画布尺寸不一样(512 和 380 混着)、主体占比不一样(有的撑满有的只占一小块)、重心乱飘(都不在画布中心),边缘还常常带着去背后残留的一圈白雾。单看每个都还行,摆进背包格子立刻露馅——一眼看出是拼凑的。这一页把整批图标按同一套规则重新归一:裁掉多余留白、按兼顾外框与分量的折中尺度统一大小(细长的放大一点、实心方正的缩小一点,实测一套道具的面积差异能从 32 倍压到 4 倍)、按重心居中、修掉边缘脏色,再补上统一的描边和投影。所有图逐张独立计算但共用一套参数,这才是「统一」。全程在浏览器本地处理,图片不上传服务器。
三种统一方式(折中 / 包围盒 / 面积)· 重心居中或底对齐 · 修边缘白雾 · 统一描边(外沿/内沿)· 统一投影 · 整套同屏预览 · 导出 ZIP / 图集+JSON / 单张
PNG / JPG / WebP,一次可以选很多张(一整套道具全选拖进来)
因为 AI 每次出图都是独立构图:画布可能是 512 也可能是 380,主体可能撑满也可能只占中间一小块,重心也不会正好在画布中心。单看每张都挺好,一旦排成一排,大小忽大忽小、上下忽高忽低,立刻显得是拼凑的。玩家未必说得出来,但就是「感觉廉价」。这一页就是把这批图按同一套规则重新算一遍,让它们真的像一套。
有,而且结果跟直觉不太一样。拿页面里的示例(剑 / 药水 / 盾 / 戒指,画布 380×420 ~ 640×640)实测,输入时四个图标的 alpha 面积相差 32.4 倍;规整到 128×128 之后:
| 统一方式 | 输出外框极差 | 输出面积极差 | 适用 |
|---|---|---|---|
| 折中(默认) | 1.19 倍 | 3.77 倍 | 形状差异大的一套,最均衡 |
| 按包围盒 | 1.00 倍 | 5.61 倍 | 格子严格对齐、要求外框分毫不差 |
| 按视觉重量(纯面积) | 1.07 倍 | 4.78 倍 | 形状相近的一套(都是圆瓶、都是方盾) |
两个反直觉的点:① 纯面积模式反而不如折中——细剑面积太小,按面积算要放大到超出画布,被保护截断后仍是最小的那一个,反而把差距拉大了;② 方形画布里「面积完全相等」物理上做不到,细长物体就算撑满画布也就那么点面积。所以折中是实测下来最均衡的选择:外框只差 1.19 倍(104 vs 124,肉眼几乎看不出),面积差距却压到了最低。
包围盒居中是让内容的外框落在画布中心,重心居中是让内容的重量中心落在画布中心。对一把剑、一根法杖这类细长且一端重的物体,两者差别很明显:按外框居中会让它看起来偏上或偏下,按重心居中才稳。另外「垂直对齐」可以选底对齐——需要所有道具都站在同一条地面线上时用它。
AI 生成的透明底图片,边缘一圈像素的颜色往往混着原背景色(最常见是一圈白雾)。浏览器存像素时 RGB 通常已经和背景做过混合,越透明混得越多;单看透明背景不明显,一放进深色背包 UI 里就是一圈灰白毛边。去脏边的做法是:拿邻域里不透明像素的颜色当真值,按这个像素的透明度把颜色推回去——只改 RGB,alpha 一点不动,所以形状完全不变。结果栏会告诉你修了多少个像素。
缩小本身不会糊(降采样是信息合并),真正的风险是一次性缩太多产生锯齿。这里用 canvas 的高质量降采样(imageSmoothingQuality: high),从 512 缩到 128 是干净的。但要注意:如果原图就很糊,或者主体在 512 上本来就只有 40 像素的细节,缩到 128 之后那些细节必然丢失——这种情况建议输出尺寸选大一点(256/512),或者先用AI 图转像素素材把风格简化再规整。
外沿(默认)在主体外面补一圈,内部细节一点不损失;工具会提前预留好这一圈的空间,所以输出尺寸仍然严格等于你选的尺寸。内沿把主体最外一圈改成描边色,尺寸也不变,代价是最外一圈细节会被轮廓吃掉。做道具、装备这类需要突出轮廓的用外沿。
没有硬性上限,几十张没问题,处理都在你自己的浏览器里跑,不消耗服务器。但一次几百张时首屏会卡一下(每张都要重算);建议分批。处理完点导出即可,图集会附一份 JSON 记录每格的坐标。
免费,无水印、无需注册。整个处理过程在浏览器本地完成,图片不经过任何服务器。