首页 » HTML » 用moveTo与lineTo方法绘制复杂图形

用moveTo与lineTo方法绘制复杂图形

除了用arc方法绘制图形以外,直线径也可以绘制图形,该实例中,使用三角函数计算定点,循环使用lineTo语句来绘制图形。

canvas绘制复杂图形

canvas绘制复杂图形的脚本代码:

<!DOCTYPE html>
<head>
<meta charset="UTF-8" />
<script>
    function draw(id) {
        var canvas = document.getElementById(id);
        if (canvas == null) return false;
        var context = canvas.getContext('2d');
        context.fillStyle = "#EEEEFF";
        context.fillRect(0, 0, 400, 300);
        var n = 0;
        var dx = 170;
        var dy = 150;
        var s = 140;
        context.beginPath();
        context.fillStyle = '#1ca40e';
        context.strokeStyle = '#5ae84c';
        var x = Math.sin(0);
        var y = Math.cos(0);
        var dig = Math.PI / 15 * 11;
        for (var i = 0; i < 30; i++) {
            var x = Math.sin(i * dig);
            var y = Math.cos(i * dig);
            context.lineTo(dx + x * s, dy + y * s);
        }
        context.closePath();
        context.fill();
        context.stroke();
    }
</script>
</head>
<body onLoad="draw('canvas');">
<canvas id="canvas" width="400" height="300"/>
</body>
</html>

绘制直线时一般会用到moveTo与lineTo两种方法。他们的功能如下所示:

moveTo(x,y)

moveTo方法的作用是讲光标移动指定的坐标点,绘制直线的时候以这个坐标点为起点。

lineTo(x,y)

lianTo方法在moveTo方法中指定的直线起点与参数中指定的直线终点之间绘制一条直线。

在创建路径的时,需要使用moveTo方法将光标移动到直线起点,然后使用lineTo方法在直线起点与直线终点之间创建路径,然后将光标移动到指定直线终点,在下一次用lineTo时,以当前光标所在坐标点为直线起点,在下一个用lineTo方法指定的直线终点之间绘制路径,它会不断重复这个过程,来完成复杂图形的绘制。

此文章发表在 HTML. 将 固定链接 加入收藏.