Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 铬弧路径填充缺陷的解决方法?_Javascript_Google Chrome_Canvas - Fatal编程技术网

Javascript 铬弧路径填充缺陷的解决方法?

Javascript 铬弧路径填充缺陷的解决方法?,javascript,google-chrome,canvas,Javascript,Google Chrome,Canvas,编辑:此错误已在38版中修复 Chrome的最新版本在我维护的应用程序中引入了一个问题。我不确定这是否是一个看似错误但实际上是正确的问题,或者这是一个诚实的错误,但它只出现在一个月前开始出现的最新版本的Chrome中,我不确定到底是哪个版本引入了它 当在使用上下文弧方法绘制的某些路径上使用上下文填充方法时,会出现此错误。填充的不是绘制填充弧,而是形状奇特的多边形 这里演示了我的意思-右上角的形状应该是一个填充弧: var ctx=document.getElementById'cvs'.getC

编辑:此错误已在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;
我确实在操作系统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)中看到了错误。