响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 例5-4 Document

本文通过HTML和JavaScript代码展示了如何在Canvas上绘制不同颜色、宽度和端点形状的线条,以及如何构建和重置路径。重点讲解了lineTo方法、strokeStyle属性和路径操作,如closePath用于闭合路径。
摘要由CSDN通过智能技术生成

代码

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
</head>

<body>
<canvas id="cavsElem" width="400" height="600">您的浏览器不支持Canvas</canvas>
<script>
    var canvas = document.getElementById('cavsElem'); //获取画布
    var context = canvas.getContext('2d');            //准备画笔
    context.lineWidth = '10';                         //设置线条的宽度
    context.strokeStyle = '#f00';                     //设置线条的颜色
    context.lineCap = 'round';                        //设置线条的端点形状
    context.moveTo(10,120)                            //定义线条的起点坐标
    context.lineTo(50,120);                           //定义连接端点
    context.lineTo(10,150);                           //定义连接端点
    context.lineTo(50,150);                           //定义连接端点
    context.stroke();                                 //为线条描边
    //绘制蓝色的字母“z” 
    context.beginPath();                              //重置路径
    context.strokeStyle = 'blue';                     //设置线条的颜色为蓝色
    context.lineCap = 'butt';                         //定义端点平直
    context.moveTo(10,180);                           //定义初始位置
    context.lineTo(50,180);                           //定义连线端点
    context.lineTo(10,210);                           //定义连线端点
    context.lineTo(50,210);                           //定义连线端点
    context.stroke();                                 //描边路径
    //绘制粉色的字母“z” 
    context.beginPath();                              //重置路径
    context.strokeStyle = 'pink';                     //设置线条的颜色为粉色
    context.lineCap = 'square';                       //定义端点方形
    context.moveTo(10,240);                           //定义初始位置
    context.lineTo(50,240);                           //定义连线端点
    context.lineTo(10,280);                           //定义连线端点
    context.lineTo(50,280);                           //定义连线端点
    context.stroke();                                 //描边路径
    </script>
</body>
</html>

上述代码中:
第13行代码使用lineWidth属性定义线条的宽度,该属性的默认宽度为1px,取值为数值(不带单位),以像素为计量单位;
第14行代码使用strokeStyle属性定义描边的颜色,该属性的取值为十六进制颜色值或颜色英文,默认为黑色;
第16~18行代码使用lineTo(x,y)方法来定义连线端点,同时也需要定义x和y的坐标位置;
第19行代码使用stroke()方法给线条添加描边,让线条变得可见。
第24行和33行代码处分别定义了端点的形状;
第22行和31行代码处使用beginPath()方法重置了路径,这是因为在同一画布中,如果想要开始新的路径或重置当前的路径,就需要使用beginPath()方法,当出现beginPath()即表示路径重新开始。

运行效果

从上到下3个图案依次是红色、蓝色和粉色。
在这里插入图片描述
线是所有复杂图案的组成基础,想要绘制复杂的图形,首先要从绘制线开始。线由起始位置、连接端点和描边组成。设置了butt(蓝色字母)和square(粉色字母)图案的端点形状是一样的,区别在于蓝色图案比红色和粉色图案短一截,这是因为该图案没有闭合路径。我们可以在stroke()方法前使用closePath()方法来闭合路径,该方法是创建从当前点到开始点的路径。

  • 26
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值