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>

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章