实用创作流程
放大像素画不模糊:检查导出的文件

游戏里的包裹图标在原始尺寸下很清晰,放到商店页面或开发日志里却变软了。如果绘图已经通过审核,就不必重新生成。你需要的是把现有像素准确重复的大尺寸文件。
我们在 Ciyo 的文件工作区用短脚本绘制了虚构的 16×16 包裹。它是只有四种颜色的受控测试图,不是照片,也不是图像模型的生成结果。你可以下载 64×64 和 128×128 文件,自己检查这次缩放。
从原始尺寸的 PNG 开始
先保留未经修改的母版,确认文件的真实尺寸。看起来像像素画的大图,可能已经含有柔化边缘和数百种颜色。忠实放大会保留这些问题,并不能据此确定原生像素网格。
本例原图有 4 种不透明颜色,alpha 只有 0 和 255,文件为 170 字节。Ciyo 用整像素矩形绘制它,并把原图留在导出文件旁。实际项目中应导入已确认的 PNG,不要让代理重新画一遍。

选择整数倍放大
放大 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×16 | 4 | 170 |
| 最近邻 4× | 64×64 | 4 | 261 |
| 最近邻 8× | 128×128 | 4 | 376 |
用平滑对照揭示差异
对照板把原图、最近邻导出和故意制作的双线性插值版本显示成相同的视觉尺寸。前两者保留相同的方形转折;平滑版本混合边缘并产生中间颜色。它被标为对照,而不是合格导出。
Ciyo 的对照板是 960×400 位图,包含三个带标签的区域,原生文件仍单独保留。如果画布或浏览器平滑了预览,应先用合适的查看器检查下载文件,再判断导出是否变了。

FrameSprite 团队的 10月4日帖子推广自己的缩放工具,并区分重复像素、增加细节和引擎过滤。我们的 Ciyo 文件比较独立借鉴了这一区分。发帖者没有表示使用或推荐 Ciyo;核对来源时,其推广视频无法播放。
另行检查目标页面的显示设置
文件可以完全正确,网站或游戏却再次把它显示得柔和。MDN 介绍了网页缩放图像时的 image-rendering 控制。请测试实际显示尺寸和浏览器;正确的 PNG 不会自动设定网页 CSS 或游戏引擎的纹理过滤。
若目标是清晰且等大的像素方块,优先采用整数倍显示。本例核对的是导出像素,并未验证你的引擎、动画时序或所有浏览器的缩放行为。
保留母版,交付所需尺寸
在输出文件名中写清倍数和尺寸,让同事能区分母版与交付文件。把原图、合格导出和缩放说明一起保存。后续修改应从原生母版开始,而不是从截图或已经被平滑的预览开始。
可以用下面的样本重复像素核对。如果图标在原生尺寸下已经模糊,先回到绘图修复网格。最近邻放大只能保留已有信息,不能恢复原图从未包含的细节。
实用问答
最近邻缩放会增加细节吗?
它重复现有像素,适合保留已确认的网格,不会发明新的绘图细节。
为什么画布预览可能显得柔和?
查看器可能平滑缩放图像。请检查下载文件,并另行核对目标页面的显示设置。
可以选择任意输出尺寸吗?
整数倍能让每个原像素成为同等大小的方块。任意尺寸需要不均匀方块或另一种重采样。
放大一个已确认的图标
在 Ciyo 打开原始 PNG,要求另存整数倍导出,并核对像素后再替换交付文件。