实用创作流程

放大像素画不模糊:检查导出的文件

小块炭灰色立方体旁是带一面琥珀色的象牙白阶梯结构
关于放大形态并保留边缘的抽象编辑插画。

游戏里的包裹图标在原始尺寸下很清晰,放到商店页面或开发日志里却变软了。如果绘图已经通过审核,就不必重新生成。你需要的是把现有像素准确重复的大尺寸文件。

我们在 Ciyo 的文件工作区用短脚本绘制了虚构的 16×16 包裹。它是只有四种颜色的受控测试图,不是照片,也不是图像模型的生成结果。你可以下载 64×64 和 128×128 文件,自己检查这次缩放。

从原始尺寸的 PNG 开始

先保留未经修改的母版,确认文件的真实尺寸。看起来像像素画的大图,可能已经含有柔化边缘和数百种颜色。忠实放大会保留这些问题,并不能据此确定原生像素网格。

本例原图有 4 种不透明颜色,alpha 只有 0 和 255,文件为 170 字节。Ciyo 用整像素矩形绘制它,并把原图留在导出文件旁。实际项目中应导入已确认的 PNG,不要让代理重新画一遍。

完整 Ciyo 产品画面,显示原始小包裹及代理核对的尺寸和颜色
真实原图只有 16×16 像素,在画布上很小,因此正文再次列出尺寸和透明度。

选择整数倍放大

放大 4× 时,每个原像素变成 4×4 方块;放大 8× 时,则变成 8×8 方块。每个像素占据相同面积。像 100×100 这样的任意目标尺寸,无法把 16×16 网格均匀分成整数大小的方块。

明确要求用最近邻插值缩放文件,并另存输出。提高细节或做成高清等说法可能引导工具重新绘图。这里改变的是文件尺寸,保留的是已经确认的图案。

复制这段文件工作区提示词
使用这张现有的 16×16 RGBA PNG,不要重画或生成图像。分别另存最近邻放大 4×(64×64)和 8×(128×128)的文件。重新打开导出文件,确认每个 k×k 方块与对应原像素完全相同,包括 alpha。报告尺寸、不透明颜色数量和字节数。保留未经修改的母版,把导出文件保存到画布。

同时核对像素和透明度

画布预览好看还不够。下载 PNG,解码后把每个输出像素与对应原像素比较。alpha 也要参与核对:浅色画布上,不透明背景或柔化的透明边缘可能不明显。

独立解码比较确认两种导出文件都是 0 个通道不匹配,仍有 4 种不透明颜色和二值透明度。较大的字节数只描述这几个小测试文件,不能预测你的素材大小。

本次演示实际下载的文件
文件尺寸不透明颜色字节数
未经修改的原图16×164170
最近邻 4×64×644261
最近邻 8×128×1284376

用平滑对照揭示差异

对照板把原图、最近邻导出和故意制作的双线性插值版本显示成相同的视觉尺寸。前两者保留相同的方形转折;平滑版本混合边缘并产生中间颜色。它被标为对照,而不是合格导出。

Ciyo 的对照板是 960×400 位图,包含三个带标签的区域,原生文件仍单独保留。如果画布或浏览器平滑了预览,应先用合适的查看器检查下载文件,再判断导出是否变了。

完整 Ciyo 画布,显示原图、两种放大文件和明显柔化的双线性对照板
实际 Ciyo 输出,已使用适合画布的缩放。原图和最近邻区域保持方形边缘,最右侧故意展示平滑效果。

另行检查目标页面的显示设置

文件可以完全正确,网站或游戏却再次把它显示得柔和。MDN 介绍了网页缩放图像时的 image-rendering 控制。请测试实际显示尺寸和浏览器;正确的 PNG 不会自动设定网页 CSS 或游戏引擎的纹理过滤。

若目标是清晰且等大的像素方块,优先采用整数倍显示。本例核对的是导出像素,并未验证你的引擎、动画时序或所有浏览器的缩放行为。

保留母版,交付所需尺寸

在输出文件名中写清倍数和尺寸,让同事能区分母版与交付文件。把原图、合格导出和缩放说明一起保存。后续修改应从原生母版开始,而不是从截图或已经被平滑的预览开始。

可以用下面的样本重复像素核对。如果图标在原生尺寸下已经模糊,先回到绘图修复网格。最近邻放大只能保留已有信息,不能恢复原图从未包含的细节。

实用问答

最近邻缩放会增加细节吗?

它重复现有像素,适合保留已确认的网格,不会发明新的绘图细节。

为什么画布预览可能显得柔和?

查看器可能平滑缩放图像。请检查下载文件,并另行核对目标页面的显示设置。

可以选择任意输出尺寸吗?

整数倍能让每个原像素成为同等大小的方块。任意尺寸需要不均匀方块或另一种重采样。

放大一个已确认的图标

在 Ciyo 打开原始 PNG,要求另存整数倍导出,并核对像素后再替换交付文件。