Toolkitly

批量图片处理

一趟做完整个文件夹的缩放、格式转换和重命名,然后把结果打包成 ZIP 下载。 免费、无需注册、不上传——每个文件都在你的浏览器里解码和重新编码。

不会上传任何文件——每个文件都在你的浏览器里解码和重新编码。

怎么批量处理图片

四步,而且在动手之前就有一份清单告诉你会写出什么。

  1. 1把文件加进来拖进来、在对话框里选,或者直接选整个文件夹。它们会按名称做数字排序, 所以 asset_2 排在 asset_10 前面。
  2. 2选怎么缩放缩放到不超过某个尺寸会同时限制宽和高且不让画面变形—— 十次里有九次你要的是这个。按倍数缩放适合每张源图本来就是应有尺寸的情况。
  3. 3定好格式和文件名格式保持原格式,或者全部转成 PNG、WebP、JPEG。文件名格式支持 {name}{i0}{w} {h}
  4. 4核对清单,然后跑每一行在你动手前就显示好了输出的文件名和尺寸。跑完之后 ZIP 自动下载, 并附上处理前后的字节数对比。

不超过、按倍数,还是精确尺寸

缩放到不超过某个尺寸会同时约束两个方向并保持宽高比, 所以「最大 512×512」就是所有人默认理解的那个意思:宽图受宽度限制, 高图受高度限制,两者都不会被拉伸。默认情况下,本来就比这个框小的图会被原样放过—— 把它们放大等于凭空捏造本不存在的细节。

按倍数缩放把每张图都乘以同一个数。 源图本来就整齐时用它——比如把一整个文件夹的 2 倍素材减半—— 在尺寸参差不齐的一批上则别用,那只会把原有的参差换个尺寸原样保留下来。

精确尺寸不管宽高比,把每张图都强行拉到同样的尺寸, 本来比例不同的图就会变形。这对图标集是正确答案,对其他几乎所有场合都是错的。

选一个输出格式

PNG

无损、带透明、到处都支持。精灵、地块,以及任何要进引擎的东西的正确默认值。 文件比另外两种大。

WebP

可有损可无损、带透明,同等观感质量下通常比 PNG 小 25–35%。 任何要发到网上的东西的正确默认值。

JPEG

有损,而且完全没有透明通道。 背景图和照片类美术可以用,带透明或者带硬边缘的东西别用—— 它的压缩会在每一条轮廓周围糊出一圈光晕。

经得起文件系统折腾的文件名

批量重命名有两件事会出错,而且都是无声的。

第一件是排序。不补零的话,在所有文件浏览器和大多数素材导入器里,asset_10 都会排在 asset_2 前面。{i0} 这个占位符会按这一批里最大序号的位数补零, 所以一百个文件出来是 001100,在哪儿都排得对。

第二件是重名。把 hero.png hero.jpg 的扩展名去掉,两个都转成 WebP, 你就有了两个叫 hero.webp 的文件。 ZIP 压缩包会很乐意把两个条目都放进去——而解压程序只会保留它最后读到的那个, 于是你那批 40 个文件出来变成 39 个,还找不到任何解释。 重名会在写出任何东西之前用编号后缀解决掉,比较时忽略大小写, 因为 Windows 和 macOS 就是这么干的。

什么时候用得上

给素材包瘦身

商店里的素材包都是按「谁可能需要的最大尺寸」发的。 把整个文件夹压到你实际会用的尺寸,项目体积立刻降下来。

准备网页版构建

一趟把整个贴图文件夹转成 WebP。最后那个字节数会告诉你这一趟值不值。

统一来源不一的素材

三个画师、三种尺寸的素材,在进仓库之前先统一命名和尺寸。

商店页的截图

一整个文件夹的截图,统一压到一个固定上限,转成 JPEG,并按顺序编号。

处理像素画时

采样设成邻近,并且按整数倍缩放。别的做法要么把画面弄糊, 要么让一部分像素比另一部分宽——像素画缩放工具那页讲了为什么,也能带预览地处理单张图的情况。

另外注意,缩放到不超过某个尺寸几乎不可能得到整数倍, 因为它的比例是由源图碰巧是多大算出来的。一整个文件夹的像素画,请改用按倍数缩放。

常见问题

怎么一次缩放多张图片?

把整个文件夹拖进来,选一种缩放方式——通常是「缩放到不超过某个尺寸」——然后把结果打包成 ZIP 下载。每个文件都在你的浏览器里一个接一个地处理,动手之前每一行都会先显示输出的文件名和尺寸。

一次最多能处理多少个文件?

每批 300 个。这是刻意设的上限,不是技术限制:文件是逐个解码的,所以内存占用是平的,但浏览器标签页终究是浏览器标签页,一个要跑十分钟的批处理,你多半会在中途把它关掉。

该转成 WebP 吗?

要发到网上的东西,通常该转——在肉眼看不出差别的质量下,WebP 一般比 PNG 小 25% 到 35%,而且保留透明通道。要导进游戏引擎的贴图则没那么要紧,因为引擎在导入时反正会重新编码成 GPU 格式。

为什么我的透明背景变成白的了?

因为你转成了 JPEG,而这个格式根本没有透明通道。每一个透明像素都必须变成某种实色,工具让你自己挑是哪种——默认是白色。需要透明就用 PNG 或 WebP。

如果两个文件重名了会怎样?

它们会被自动加上编号后缀。这件事比听起来重要:ZIP 会毫无怨言地放进两个同名条目,而第二个会悄悄覆盖第一个,于是这一批出来就少了一个,还没有任何提示。比较时会忽略大小写,因为 Hero.png 和 hero.png 在 Windows 和 macOS 上是同一个文件。

该用邻近采样还是平滑?

像素画用邻近采样——它整块复制像素,绝不凭空造出新颜色,边缘因此保持硬朗。照片、渲染图和界面截图用平滑,那些场合把相邻像素平均起来才是你真正想要的。

我的文件会被上传到服务器吗?

不会。每个文件都是在你的浏览器里用 Canvas API 解码、缩放和重新编码的,ZIP 也是在那里打包的。什么都不会离开你的电脑,也就不存在上传带来的文件大小限制。

相关工具