opera下canvas绘制圆弧arc的一个bug

来源:互联网 发布:淘宝上买组装机可靠吗 编辑:程序博客网 时间:2024/05/21 07:00

先看下面这段代码:

<canvas id="canvas1" width='500' height='400'></canvas><script>var ctx=document.getElementById("canvas1").getContext('2d');ctx.translate(100,100);ctx.moveTo(0,0);//以角度0°经45°到90°方向绘制曲线ctx.arc(0, 0, 50 ,0, Math.PI/2, false);ctx.translate(200,0);ctx.moveTo(0,0);//水平翻转ctx.scale(-1, 1);//经过翻转之后再次绘制曲线ctx.arc(0, 0, 50 ,0, Math.PI/2, false);ctx.stroke();</script>

在Firefox, Safari, Chrome, IE9下效果如下图:


在Opera下则是下图的样子:(Opera 10,至最新的Opera 11.51都存在这个bug)


可以看到,Opera下,第二段圆弧的方向错误了。

这说明,Opera浏览器中,Context2D在进行scale变换后,绘制圆弧(arc方法)就出错了。

这个bug很隐蔽,开发过程中仍需要小心。

信息来源于这里

原创粉丝点击