无法删除图像中的纹理位

Trouble removing bits of texture in image

我正在 HTML5 使用 canvas 制作游戏。

当我使用 CanvasRenderingContext2D.drawImage 绘制从图像裁剪的纹理时,您有时会在图像中看到一小部分周围的纹理。

一个例子是,当我从这个 tileset 渲染我自己的文本时:font "tileset", where depending on the width and height of the browser window you can sometimes see glimpses of neighbouring tiles. Here you can see a bit of the letters underneath: text,如果我将浏览器高度更改一个像素,它就会消失。

似乎图形故障是否发生取决于浏览器 height/width window。如果将高度更改 1 个像素,它就会消失,如果再更改一个像素,它就会恢复。

有谁知道如何解决这个问题?如果不是,我应该尝试手动逐像素绘制图像,还是向图块集添加一个像素的边距?

Canvas 的分辨率为半像素,所以我想您可以将裁剪区域扩大半像素,看看是否可以忽略噪点。

如果这不起作用,您将重新使用更大的 spritesheet。

如果您决定使用更大的 spritesheet,here's 我用 Photoshop 处理过的双倍大小版本的 spritesheet。