ctx.store()也重绘了前面的点

时间:2016-04-19 05:24:10

标签: html5 canvas

我在画布上绘制自由手图像,每次我提供一个点在画布上绘制的点数,当第一组数组传递到函数时,它精确地绘制到我给出的点, 但是当我传递第二组数组时,它会绘制第一个数组点以及新的set(array2)点,

这是我的代码

function drawManualMarkings(ManualArr) {
        $('#canvascontainer').css('display', 'block');
        var canvas = document.getElementById('canvascontainer');
        document.getElementById('canvascontainer').getContext('2d').clearRect(0, 0, 480, 360)
        for (var i = 0; i < ManualArr.length; i++) {
            if (canvas.getContext) {
                var ctx = canvas.getContext('2d');
                ctx.strokeStyle = "red";
                if (i == 0) {
                    ctx.restore();
                    ctx.moveTo(ManualArr[i].x, ManualArr[i].y);
                }
                else {
                    // ctx.clearRect(0, 0, canvas.width, canvas.height);
                    ctx.lineTo(ManualArr[i].x, ManualArr[i].y);
                    ctx.stroke();
                }
            }
        }

当i = 0时;它调用ctx.strore()它绘制旧图像 如何解决它请帮助, 任何帮助都会充分利用

谢谢

0 个答案:

没有答案