如何使用HTML5 canvas绘制线条


本文摘自PHP中文网,作者不言,侵删。

使用HTML Canvas绘制线条,我们需要用到的是Canvas上下文的MoveTo()和LineTo()方法,下面我们就来看看具体的内容。

HTML5 canvas

我们先来看一个示例

代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title></title>

  <meta charset="utf-8" />

     

    <script type="text/javascript">

       function draw() {

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

 

          if ( ! canvas || ! canvas.getContext ) {

            return false;

          }

 

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

          context.beginPath();

          context.moveTo(120, 60);

          context.lineTo(240, 90);

          context.stroke();

      }

    </script>

</head>

<body onload="draw()" style="background-color:#D0D0D0;">

    <canvas id="SimpleCanvas" width="640" height="480" style="background-color:#FFFFFF;"></canvas>

    <div>Canvas Demo</div>

</body>

</html>

说明:

1

2

3

4

5

6

7

8

9

10

11

function draw() {

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

  if ( ! canvas || ! canvas.getContext ) {

    return false;

  }

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

  context.beginPath();

  context.moveTo(120, 60);

  context.lineTo(240, 90);

  context.stroke();

}

分析

上述的这个JavaScript代码是绘制代码,使用document.getElementById()方法获取Canvas上下文,并调用Canvas对象上的getContext()方法以获取Canvas上下文,调用上下文的beginPath()方法来开始路径,使用moveTo()将笔移动到指定位置,并将线条绘制到lineTo()方法指定的位置,通过调用stroke()方法执行绘图。

运行结果

执行上述HTML文件,将会显示如下效果

HTML5 canvas

接着我们再来看一个示例

代码如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

    <title></title>

  <meta charset="utf-8" />

     

    <script type="text/javascript">

       function draw() {

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

 

          if ( ! canvas || ! canvas.getContext ) {

            return false;

          }

 

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

          context.beginPath();

          context.moveTo(120, 60);

          context.lineTo(240, 90);

          context.stroke();

 

          context.beginPath();

          context.moveTo(120, 75);

          context.lineTo(260, 120);

          context.stroke();

 

          context.beginPath();

          context.moveTo(160, 100);

          context.lineTo(200, 140);

          context.lineWidth = "3";

          context.stroke();

 

          context.beginPath();

          context.moveTo(200, 40);

          context.lineTo(360, 120);

          context.strokeStyle = '#00C080';

          context.stroke();

 

          context.beginPath();

          context.moveTo(40, 20);

          context.lineTo(80, 160);

          context.strokeStyle = '#C00080';

          context.lineWidth = "1";

          context.stroke();

 

          context.beginPath();

          context.moveTo(400, 10);

          context.lineTo(380, 200);

          context.strokeStyle = "rgb(96, 96, 225)";

          context.stroke();

      }

    </script>

</head>

<body onload="draw()" style="background-color:#D0D0D0;">

    <canvas id="SimpleCanvas" width="640" height="480" style="background-color:#FFFFFF;"></canvas>

    <div>Canvas Demo</div>

</body>

</html>

说明:

在上面的代码中,我们改变了线条的粗细和颜色。

要更改线条的粗细,请在Canvas的Context的lineWidth属性中设置线条的粗细;要更改线条颜色,请在Context的strokeStyle属性中指定绘图颜色。对于颜色规范,可以使用诸如十六进制格式,“RGB”格式,“blue”,“red”等颜色名称;此外,只要设置了一次值,即使使用beginPath()创建新路径,也不会初始化设置的值。

1

2

3

4

5

6

7

8

9

10

context.beginPath();

context.moveTo(160, 100);

context.lineTo(200, 140);

context.lineWidth = "3";

context.stroke();

context.beginPath();

context.moveTo(200, 40);

context.lineTo(360, 120);

context.strokeStyle = '#00C080';

context.stroke();

上述代码的情况下,由于第二条线没有指定lineWidth,因此可以利用之前指定的lineWidth的值。

运行结果

HTML5 canvas

以上就是如何使用HTML5 canvas绘制线条的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

HTML5中的postmessage api基本使用方法分享

分享一个HTML5实现拖放的实例代码

HTML5 嵌入钉钉教程

HTML5实战-svg的详解

h5中在拖动的元素或选择的文本进入到有效的放置目标时触发的事件ondragenter

移动端HTML5列表的制作方法

cookie的具体使用方法

如何使用canvas画一个微笑的表情(代码示例)

HTML5第一人称射击游戏实现的代码分享

h5的drag与drop详解

更多相关阅读请进入《HTML5》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...