我正在尝试在画布上绘制一个8K图像。播放器始终位于屏幕中间,图像是整个地图的背景,即5000x5000像素。我正在裁剪图像以仅显示玩家的视口:
sDrawX = player.x - (canvas.width / 2); // x pos to start cropping
sDrawY = player.y - (canvas.height / 2); // y pos to start cropping
ctx.drawImage(bkg, sDrawX, sDrawY, canvas.width, canvas.height, 0, 0, canvas.width, canvas.height);
问题在于每次绘制图像时,画布上都会显示空行。我发现这些线条具有画布背景颜色。
图片2:both vertical and horizontal white lines at different positions
由于我每帧都在绘制图像,你认为它是否可能无法在每一帧中绘制所有图像?
经过一些调试后:它适用于分辨率较低的图像。