HTML5 Canvas 教程:二、线条

二、线条Lines

 

2.1直线 Line

 

要在画布上绘制线条,可以通过调用:beginPath()、moveTo()、lineTo()和stroke()方法来实现。

首先,我们可以使用beginPath()方法来声明我们即将绘制一个新的路径。接下来,我们可以使用moveTo()方法定位上下文对象的绘图起点(即绘图光标),然后使用lineTo()方法从起始位置绘制一条直线到一个新的位置。最后,为了使线条可见,调用stroke()方法将线条绘制出来。除非另有声明,否则笔划颜色默认为黑色。

 

<!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.moveTo(100150);

      context.lineTo(45050);

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制一段黑色的直线。

 

 

2.2线条宽度 Line Width

 

如果要改变绘制线条的宽度,可以使用画布上下文对象的lineWidth属性,但是必须先设置lineWidth属性,然后调用stroke()方法绘制线条。

 

<!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.moveTo(100150);

      context.lineTo(45050);

      context.lineWidth = 15;

      context.stroke();

    </script>

  </body>

</html>

 

以上代码在页面的canvas画布上绘制一段宽度为15的直线。

 

 

2.3线条颜色 Line Color

 

要设置HTML5画布行的颜色,可以使用画布上下文对象的strokeStyle属性,它可以设置为颜色字符串,如红色、绿色或蓝色、十六进制值,如#FF0000或#555,或者RGB值,如rgb(255、0、0)。

 

<!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.moveTo(100150);

      context.lineTo(45050);

      context.lineWidth = 10;

      // set line color

      context.strokeStyle = '#ff0000';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码演示了在画布上绘制一段宽度为15的红色直线。

 

 

2.4端点样式 Line Cap

 

通过设置lineCap属性,定义线条的端点样式。HTML5画布线条有三种端点样式,包括:butt、round和square。除非另有声明,否则HTML5画布默认使用butt样式绘制线条端点。必须先设置lineCap属性,然后调用stroke()方法绘制线条。

 

<!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');

      // butt line cap (top line)

      context.beginPath();

      context.moveTo(200, canvas.height / 2 - 50);

      context.lineTo(canvas.width - 200, canvas.height / 2 - 50);

      context.lineWidth = 20;

      context.strokeStyle = '#0000ff';

      context.lineCap = 'butt';

      context.stroke();

      // round line cap (middle line)

      context.beginPath();

      context.moveTo(200, canvas.height / 2);

      context.lineTo(canvas.width - 200, canvas.height / 2);

      context.lineWidth = 20;

      context.strokeStyle = '#0000ff';

      context.lineCap = 'round';

      context.stroke();

      // square line cap (bottom line)

      context.beginPath();

      context.moveTo(200, canvas.height / 2 + 50);

      context.lineTo(canvas.width - 200, canvas.height / 2 + 50);

      context.lineWidth = 20;

      context.strokeStyle = '#0000ff';

      context.lineCap = 'square';

      context.stroke();

    </script>

  </body>

</html>

 

以上代码分别演示了三种线条端点样式。

猜你喜欢

转载自blog.csdn.net/gunnery/article/details/83043811