Javascript 铬弧路径填充缺陷的解决方法?
编辑:此错误已在38版中修复 Chrome的最新版本在我维护的应用程序中引入了一个问题。我不确定这是否是一个看似错误但实际上是正确的问题,或者这是一个诚实的错误,但它只出现在一个月前开始出现的最新版本的Chrome中,我不确定到底是哪个版本引入了它 当在使用上下文弧方法绘制的某些路径上使用上下文填充方法时,会出现此错误。填充的不是绘制填充弧,而是形状奇特的多边形 这里演示了我的意思-右上角的形状应该是一个填充弧: var ctx=document.getElementById'cvs'.getContext'2d'; //引弧 ctx.beginPath; ctx.arc75,75,50,0,Math.PI/2; ctx.lineto125125; ctx.closePath; ctx.stroke; //绘制填充弧 ctx.beginPath; ctx.arc225,75,50,0,Math.PI/2; ctx.lineto275125; ctx.closePath; ctx.fill; //画有冲程的三角形 ctx.beginPath; ctx.moveto125225; ctx.lineto75275; ctx.lineto125275; ctx.closePath; ctx.stroke; //画填充三角形 ctx.beginPath; ctx.moveto275225; ctx.lineto225275; ctx.lineto275275; ctx.closePath; ctx.fill;Javascript 铬弧路径填充缺陷的解决方法?,javascript,google-chrome,canvas,Javascript,Google Chrome,Canvas,编辑:此错误已在38版中修复 Chrome的最新版本在我维护的应用程序中引入了一个问题。我不确定这是否是一个看似错误但实际上是正确的问题,或者这是一个诚实的错误,但它只出现在一个月前开始出现的最新版本的Chrome中,我不确定到底是哪个版本引入了它 当在使用上下文弧方法绘制的某些路径上使用上下文填充方法时,会出现此错误。填充的不是绘制填充弧,而是形状奇特的多边形 这里演示了我的意思-右上角的形状应该是一个填充弧: var ctx=document.getElementById'cvs'.getC
我确实在操作系统X上的Chrome37.0.2062.124上看到了这个bug。这可能与所描述的bug有关,也可能与之无关,该bug应该在Chrome38中修复 作为一种解决方法,旋转几度并在填充弧之前立即将其旋转回来似乎是可行的
// draw filled arc
ctx.beginPath();
ctx.arc(225, 75, 50, 0, Math.PI/2);
ctx.lineTo(275, 125);
ctx.closePath();
ctx.rotate(1*Math.PI/180); // Rotate 1 degree
ctx.rotate(-1*Math.PI/180); // Reverse rotation
ctx.fill();
这里有一把小提琴演示解决方法:您使用的是什么版本的Chrome?在这里看不到任何问题-这就是我在FF31无边框上看到的与Cheery相同的问题。我在Chrome37.0.2062.124(适用于Windows)和Chrome37.0.2062.117(适用于Android)中看到了错误。