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

代码

<!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()方法来闭合路径,该方法是创建从当前点到开始点的路径。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/438536.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何实现Win系统ssh连接Ubuntu使用vscode远程敲代码

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接…

Android Settings 按住电源按钮

如题&#xff0c;Android 原生 Settings 里有个 按住电源按钮 的选项&#xff0c;可以设置按住电源按钮的操作。 按住电源按钮 两个选项的 UI 是分离的&#xff0c; 电源菜单 代码在 packages/apps/Settings/src/com/android/settings/gestures/LongPressPowerForPowerMen…

存储技术架构演进

一. 演进过程 存储技术架构的演进主要是从集中式到分布式的一种呈现&#xff0c;集中式存储模式凭借其在稳定性和可靠性方面的优势成为许多业务数据库的数据存储首选&#xff0c;顾名思义&#xff0c;集中式存储主要体现在集中性&#xff0c;一套集中式管理的存储系统&#xff…

SpringBoot项目配置SSL后,WebSocket连接失败的解决方案

SpringBoot项目配置SSL后&#xff0c;WebSocket连接应使用wss协议&#xff0c;而不是ws协议。在前端配置WebSocket时&#xff0c;URL以wss://开头。

基于springboot的房屋交易系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

批量修改图斑起始点为左上角节点(顺时针方向排列),其他方位的起始点在本案例基础上微调即可实现

目录 一、实现效果 二、实现过程 1.修改图斑节点方向 2.获取图斑左上角节点 3.重新计算图斑节点顺序 4.修改图斑的起始点到左上角 5.模板的使用 三、总结 使用FME对图斑进行批量起始点修改&#xff0c;将起始点修改到图斑的左上角&#xff0c;并且节点方向统一为顺时针…

处理Servlet生命周期事件

处理Servlet生命周期事件 接收关于 Servlet生命周期事件通知的类称为事件侦听器。这些侦听器实现Servlet API中定义的一个或多个servlet事件侦听器接口。侦听器类的逻辑分类如下: servlet请求侦听器Servlet上下文侦听器HTTP会话侦听器1. servlet请求侦听器 servlet请求侦听器…

基于springboot药房管理系统源码和论文

伴随着全球信息化发展&#xff0c;行行业业都与计算机技术相衔接&#xff0c;计算机技术普遍运用于药房管理行业。实施计算机系统来管理可以降低逍遥大药房管理成本&#xff0c;使整个逍遥大药房行业的发展有显著提升。 本论文主要面向逍遥大药房管理中出现的一些常见问题&…

Java基础数据结构之哈希表

概念 顺序结构以及平衡树 中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在 查找一个元素时&#xff0c;必须要经过关键 码的多次比较 。 顺序查找时间复杂度为 O(N) &#xff0c;平衡树中为树的高度&#xff0c;即 O( log2N ) &#xff0c;搜索的效…

IndexedDB查询

Indexeddb 创建、增删改查_indexdb 删除表-CSDN博客本地数据库IndexedDB - 学员管理系统之条件筛选&#xff08;四&#xff09;_indexdb条件查询-CSDN博客 <div align"center"><input type"text" id"input_search"> <button id&q…

机器学习实验4——CNN卷积神经网络分类Minst数据集

文章目录 &#x1f9e1;&#x1f9e1;实验内容&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1; 原理&#x1f9e1;&#x1f9e1;&#x1f9e1;&#x1f9e1;CNN实现分类Minst&#x1f9e1;&#x1f9e1;代码数据预处理&#xff1a;设置基本参数&#xff1a; &#x1f9e…

操作系统-调度器与闲逛进程(调度程序与进程和线程调度)和调度算法的指标(CPU利用率 系统吞吐量 周转时间 等待时间 响应时间)

文章目录 调度器和闲逛进程调度器/调度程序进程调度线程调度 闲逛进程 调度算法的指标总览CPU利用率系统吞吐量周转时间等待时间响应时间小结 调度器和闲逛进程 调度器/调度程序 进程调度 是否让当前进程下处理机&#xff0c;让哪个进程上处理机 创建完新进程&#xff0c;此…