如何无插值放大64x64 PNG像素画至512x512?适配Squib/RMagick
像素画无插值放大的Squib实现方案
- 核心需求:将64×64像素的PNG像素画无插值放大至512×512,保留像素硬边缘风格,实现方式需简洁易用、适合脚本分发。
- Squib直接支持该需求:Squib底层基于RMagick,可通过指定重采样滤波器实现无插值放大,无需额外编写独立RMagick预处理脚本。
- 具体代码实现:
在Squib脚本中加载图片时,通过filter: 'NearestNeighbor'参数指定最近邻采样(无插值),同时设置目标尺寸:require 'squib' Squib::Deck.new(width: 512, height: 512) do # 加载原像素画,用最近邻滤波放大到目标尺寸 png file: 'pixel_art.png', x: 0, y: 0, width: 512, height: 512, filter: 'NearestNeighbor' save_png prefix: 'scaled_pixel_' end - 效果说明:
NearestNeighbor滤波器会直接复制原像素实现放大,完全保留像素风格,不会产生插值模糊。 - 优势:该方式直接集成在Squib工作流中,脚本简洁,分发时仅需确保依赖的RMagick版本兼容(主流版本均支持此参数),无需额外工具链。
内容的提问来源于stack exchange,提问作者quelarion
相关产品推荐
相关产品推荐

