Html clearRect()之后带有lineTo的画布绘图显示斑点线

Html clearRect()之后带有lineTo的画布绘图显示斑点线,html,animation,canvas,Html,Animation,Canvas,我试着模拟一个医学波形,它在屏幕上画一些线,然后当它到达终点时,它会在画新线之前擦去屏幕(一个50像素宽的区域)。我实际上有两个问题 在第一行结束后,我开始在画布上使用clearRect()清除50像素宽的区域,并在屏幕上一次移动一个像素。看起来不错,但即使坐标在调试器中看起来正确,rect在屏幕上的速度也是它应该的两倍 更重要的是,在我的clearRect()后面画的线有污点。完全一样 我用一块画布画背面的网格线,另一块画布画波浪线 我的animate()方法中的第一件事是: waveCont

我试着模拟一个医学波形,它在屏幕上画一些线,然后当它到达终点时,它会在画新线之前擦去屏幕(一个50像素宽的区域)。我实际上有两个问题

  • 在第一行结束后,我开始在画布上使用clearRect()清除50像素宽的区域,并在屏幕上一次移动一个像素。看起来不错,但即使坐标在调试器中看起来正确,rect在屏幕上的速度也是它应该的两倍

  • 更重要的是,在我的clearRect()后面画的线有污点。完全一样

  • 我用一块画布画背面的网格线,另一块画布画波浪线

    我的animate()方法中的第一件事是:

    waveContext.beginPath();
    waveContext.clearRect(CurrentXPosition, 0, CurrentXPosition + 50, CanvasHeight);
    waveContext.stroke();
    
    然后,为了绘制我的波线,我使用requestAnimFrame()一次移动一个像素,我在这里发现它是这样做的:

    waveContext.lineWidth = 2.5;
    waveContext.strokeStyle = waveColor;
    waveContext.beginPath();
    waveContext.moveTo(oldx, oldy);
    waveContext.lineTo(newx, newy);
    waveContext.stroke();
    
    就这样。你知道调用clearRect()后为什么会出现这样的行吗?它在IE、Chrome和Firefox中实现了这一点


    谢谢

    你能提供更多的代码和问题的图片(一把小提琴就好了)你解决过这个问题吗?