在html5画布中填充形状

时间:2014-08-26 10:52:52

标签: jquery html5 canvas html5-canvas

我正在使用画布。我在屏幕截图中绘制了一个形状,但如果我尝试填充它,则填充错误,如屏幕截图所示。

这是我的代码 enter image description here

<canvas id="myCanvas" width="800" height="650" style="border:1px solid #d3d3d3;">

<script>
var c=document.getElementById('myCanvas');
var ctx=c.getContext('2d');
ctx.save();
ctx.beginPath();
ctx.moveTo(81.75, 319.5);
ctx.arc(198, 319.5, 116.25, -3.140796326794897, 0.0007963267948964958, false);
ctx.lineTo(210.91666666666666,319.5);
ctx.moveTo(81.75, 319.5);  
ctx.arc(198, 319.5, 12.916666666666668, -3.140796326794897, 0.0007963267948964958, false);     

ctx.strokeStyle = "#00ff00";
ctx.fillStyle = "#00ff00";
//ctx.fill();              - Here the problem is
ctx.stroke();
ctx.restore();


</script>

请提供解决方案以克服此问题。 感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过绘制圆弧并用形状填充来绘制此形状。

  var canvas = document.getElementById('Canvas');
  var context = canvas.getContext('2d');

 // Variables store centre and radius of arc
  var x = 250;
  var y = 225;
  var radius =100;

 // define start and finish angle
  var startAngle = 1 * Math.PI;
  var endAngle = 2. * Math.PI;

 // set the direction to anticlockwise
  var counterClockwise = true;

  context.beginPath();
  context.arc(x, y, radius, startAngle, endAngle);
  context.lineWidth =150;


  context.strokeStyle = '#fa4b2a';
  context.stroke();