HTML5 Canvas 教程:五、形状

五、形状 Shapes

5.1自定义形状 Custom Shape

 

若要用HTML5画布绘制自定义形状,可以创建一个路径,然后调用closePath()方法关闭它。可以使用lineTo()、arcTo()、quadraticCurveTo()或bezierCurveTo()方法来构造构形状的每个子路径。

 

<!DOCTYPE HTML>

<html>

  <head>

    <style>

      body {

        margin: 0px;

        padding: 0px;

      }

    </style>

  </head>

  <body>

    <canvas id="myCanvas" width="578" height="200"></canvas>

    <script>

      var canvas = document.getElementById('myCanvas');

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

 

      // begin custom shape

      context.beginPath();

      context.moveTo(17080);

      context.bezierCurveTo(130100130150230150);

      context.bezierCurveTo(250180320180340150);

      context.bezierCurveTo(420150420120390100);

      context.bezierCurveTo(430403703034050);

      context.bezierCurveTo(32052502025050);

      context.bezierCurveTo(20051502017080);

      // complete custom shape

      context.closePath();

      context.lineWidth = 5;

      context.strokeStyle = 'blue';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制闭合的自定义图形,并用蓝色填充。

 

5.2矩形 Rectangle

 

要使用HTML5 画布绘制矩形,可以使用rect()方法而不是用4条连接线构造形状。一个HTML5画布矩形用X和Y坐标进行定位,并以width和height参数定义矩形的大小。矩形通过左上角的点进行定位。

 

<!DOCTYPE HTML>

<html>

  <head>

    <style>

      body {

        margin: 0px;

        padding: 0px;

      }

    </style>

  </head>

  <body>

    <canvas id="myCanvas" width="578" height="200"></canvas>

    <script>

      var canvas = document.getElementById('myCanvas');

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

 

      context.beginPath();

      context.rect(18850200100);

      context.fillStyle = 'yellow';

      context.fill();

      context.lineWidth = 7;

      context.strokeStyle = 'black';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制一个矩形,并填充为黄色。

 

 

5.3圆形 Circle

 

要用HTML5画布绘制一个圆,可以调用arc()方法通过定义起始角为0,结束角为2*PI来创建完整的圆弧。

 

<!DOCTYPE HTML>

<html>

  <head>

    <style>

      body {

        margin: 0px;

        padding: 0px;

      }

    </style>

  </head>

  <body>

    <canvas id="myCanvas" width="578" height="200"></canvas>

    <script>

      var canvas = document.getElementById('myCanvas');

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

      var centerX = canvas.width / 2;

      var centerY = canvas.height / 2;

      var radius = 70;

 

      context.beginPath();

      context.arc(centerX, centerY, radius, 02 * Math.PI, false);

      context.fillStyle = 'green';

      context.fill();

      context.lineWidth = 5;

      context.strokeStyle = '#003300';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制一个圆形,并以绿色填充。

 

 

5.4半圆 Semicircle

 

为了用HTML5 Canvas绘制一个半圆,我们可以使用arc()方法创建一个弧形,并且定义结束角为startAngle+PI。

 

<!DOCTYPE HTML>

<html>

  <head>

    <style>

      body {

        margin: 0px;

        padding: 0px;

      }

    </style>

  </head>

  <body>

    <canvas id="myCanvas" width="578" height="200"></canvas>

    <script>

      var canvas = document.getElementById('myCanvas');

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

 

      context.beginPath();

      context.arc(28875700, Math.PI, false);

      context.closePath();

      context.lineWidth = 5;

      context.fillStyle = 'red';

      context.fill();

      context.strokeStyle = '#550000';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制一个闭合的半圆,并用红色填充。

猜你喜欢

转载自blog.csdn.net/gunnery/article/details/83142889
今日推荐