此代码不能按我期望的Firefox(17.0.1)。我希望每次用相同的参数调用drawLine
函数时,它都会在同一位置写入该行。并在Chrome和IE这是这种情况。但在火狐运行它第二次似乎继续从第一次绘制的新线的轮换给我两条线。如果有人能够解释为什么这样表现,那将会很好。HTML5画布不恢复旋转在Firefox?
牛逼
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
function draw(){
var canvas = document.getElementById('mycanvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
ctx.fillStyle = '#993333'
drawLine(ctx, 100,100,100,200);
drawLine(ctx, 100,100,100,200);
}
function drawLine(context, x1, y1, x2, y2) {
context.save();
context.translate(x1, y1);
context.moveTo(0, 0);
context.rotate(1);
context.lineTo(x2,y2);
context.stroke();
context.restore();
}
}
</script>
</head>
<body onload="draw();">
<canvas id="mycanvas"></canvas>
</body>
</html>
它作为在Firefox 17.0.1 http://jsfiddle.net/loktar/kMPLQ/1/ – Loktar
Loktar嗨预期为我工作。所以你只看到一条线?因为我不是当我看着你所做的jsfiddle吗? –
是的只有一行:?和FF *只是*更新,当我打开它来测试小提琴,到17.0.1。我希望你有更多的代码导致这个问题。很奇怪。 – Loktar