像素画缩放工具
用邻近采样把像素画放大或缩小,边缘始终是硬的,也不会凭空多出一种颜色。免费、无需注册, 每一个像素都留在你的浏览器里。
不会上传任何文件——图片在你的浏览器里解码和缩放。
怎么放大像素画而不把它变糊
四步,其中一个设置就解决了大半问题。
- 1载入你的图把 PNG、WebP、GIF 或 JPEG 拖到上传区,或者点击选择文件,也可以直接从剪贴板粘贴一张图。
- 2先看看它是不是已经被放大过工具会量出图里均匀色块的大小。如果它提示 放大了 8 倍, 说明这张图真正的美术尺寸只有文件尺寸的八分之一——那就从原始尺寸出发缩放, 而不是在已有的放大之上再叠一层。
- 3选一个整数倍2 倍、3 倍、4 倍、8 倍,或者自己填。整数倍能让每个原始像素在输出里占同样大的方块; 非整数倍会让一部分像素比另一部分宽。
- 4下载 PNG结果是一张无损 PNG,尺寸就是界面上显示的那个,透明通道原样保留。
为什么是邻近采样,以及什么时候别用它
任何一次缩放都得决定每个新像素该是什么颜色。双线性和双三次重采样——几乎所有图像软件的默认值——会把周围的原始像素平均起来。 对照片来说这完全正确:照片底下的景物本来就是连续的,像素只是对它的采样。
像素画不是对任何东西的采样。每个像素都是被刻意放上去的,配色通常也就那么几种。 平均会造出调色板里根本没有的颜色,把一像素宽的描边变成三像素宽的渐变。邻近采样则是原样复制最近的那个原始像素, 所以输出用的还是同一套配色,边也还在画师放的位置上。
工具保留了平滑选项,是给那种确实该用它的情况准备的——照片,或者渲染出来的精灵图。 但它默认关着,因为对像素画来说那是错的答案。
整数倍,以及 1.5 倍为什么看着别扭
3 倍时,每个原始像素变成一个 3×3 的方块。1.5 倍做不到这件事:1.5 个像素不存在, 于是重采样只能交替——这个原始像素变成 2×2,下一个变成 1×1。什么都没糊, 但精灵看上去就是不对劲,像是画在了格子大小不均的方格纸上。
只要目标尺寸不是原尺寸的整数倍,工具立刻就会提示。如果你确实需要一个中间尺寸—— 比如要把精灵塞进一个固定大小的 UI 槽位——那就缩放到最接近的整数倍再居中摆放, 而不是直接接受那个不均匀的结果。
把放大过的图还原回去
下载来的素材经常有这个毛病:文件是一张 512×512 的 PNG,但里面的美术其实是 64×64 放大了 8 倍。这样导进引擎白白浪费贴图内存,而且之后再怎么缩放,色块只会越滚越大。
为了找回原图,工具会去看每一行每一列里连续相同像素的长度。在一次干净的放大中, 所有这些长度都是放大倍数的整数倍,所以它们的最大公约数就是那个倍数。 只要有一个杂散像素——一条抗锯齿的边、一个 JPEG 噪点、一次手工修改—— 这个公约数就会掉到 1。那是个诚实的答案:这张图不是干净的放大,硬除下去只会毁掉细节。
真找到倍数时,每个输出像素取的是所在方块里出现次数最多的颜色,而不是随便采样一个像素。 这一点在图片曾经过平滑滤镜时很关键:采样单个像素可能正好采到一条插值出来的边缘, 而多数投票不会。
什么时候用得上
商店页和宣传图
引擎里你想按什么倍数渲染都行,但 Steam 胶囊图或 itch.io 缩略图需要的是一个真实文件。 导出 4 倍或 8 倍,让美术一眼就能看清,而不是糊成一团。
分辨率不统一的素材
一套 32×32 的素材放在一套 16×16 的旁边,怎么摆都别扭。 把小的那套按整数倍提上来,两边的像素颗粒就一样大了。
把虚胖的素材瘦回去
一张 2048×2048 的 PNG 里只有 256×256 的真实内容,白占贴图内存。 还原到原始分辨率,缩放交给引擎去做。
图标和 UI
网站图标、鼠标指针、背包格子图标都需要精确的像素尺寸。 直接填目标尺寸,并保持宽高比锁定。
支持的格式
输入:PNG、WebP、GIF 和 JPEG——只要你的浏览器能解码就行。 PNG 和 WebP 带透明通道,所以透明信息能完整走一个来回。 JPEG 源本身已经是有损的:硬边缘周围的压缩噪点会跟着美术一起被放大。
输出:一张无损 PNG,尺寸精确等于目标尺寸,透明通道保持完好。 文件名沿用源文件,后面附上新的尺寸。
在引擎里保持锐利
按正确尺寸导出只完成了一半——导入器照样能把它弄糊。
Godot
在导入面板里把 Filter 设为 Nearest,然后重新导入。想改成全项目默认, 就在项目设置里关掉 rendering/textures/canvas_textures/default_texture_filter 的平滑。
Unity
Texture Type 选 Sprite (2D and UI),Filter Mode 选 Point (no filter),Compression 选 None, 并把 Pixels Per Unit 设成和你美术的像素尺寸一致。
Phaser / 网页
在游戏配置里加上 pixelArt: true;如果精灵是用普通 <img> 显示的,CSS 里加 image-rendering: pixelated。
常见问题
怎么放大像素画才不会糊?
用邻近采样代替默认的平滑滤镜,并且按整数倍放大。邻近采样把每个原始像素复制成一整块颜色相同的像素,不会凭空造出新颜色,每条边都还是硬的。本工具默认就用这种方式。
该放大 2 倍、3 倍还是 4 倍?
任何整数都行,倍数本身不重要,是不是整数才重要。常选 2 倍和 4 倍是因为结果尺寸正好落在 2 的幂上,方便做贴图。避开 1.5 倍或 2.3 倍:非整数倍下,有的原始像素会变成 2 个像素宽、有的变成 3 个,画面虽然没糊,但看着像被不均匀地拉扯过。
可以把像素画缩小吗?
可以,但要明白发生了什么。缩小会丢掉像素,细节一旦没了,再放大也回不来。只有一种情况缩小是无损的——你是在撤销之前的一次放大,这正是「还原到原始分辨率」这个模式存在的理由。
我的图存成了 512×512,但美术本身其实是 64×64,能拿回原图吗?
通常可以。工具会检查这张图是不是由大小一致的方块拼成的,并报出它找到的倍数——这里是 8 倍。切到「还原到原始分辨率」,它会按这个倍数把图除下去,每个方块取出现最多的颜色。如果当初那次放大是干净的,恢复出来的就是一模一样的原始像素。
为什么在 Photoshop 或画图里缩放,图就变糊了?
那些软件默认用双三次或双线性重采样,会把相邻像素平均出平滑渐变。这对照片是对的,对像素画是错的——像素画的每一个像素都是刻意放的。在 Photoshop 里把「图像大小 → 重新采样」改成「邻近(硬边缘)」。
我的图片会被上传到服务器吗?
不会。图片是在你的浏览器里用 Canvas API 解码和缩放的。什么都不会离开你的电脑,页面加载完之后断网也照样能用。
像素画该导出成什么格式?
PNG。它是无损的,而且带透明通道,透明背景能保住。千万别把像素画存成 JPEG——它的压缩会把颜色抹过硬边缘,还会在每条轮廓周围加上振铃噪点。