1. 程式人生 > >HTML5 Canvas 教程:二、線條

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>

 

以上程式碼分別演示了三種線條端點樣式。