-
6、填充路径
-
7、 绘制圆
-
二、绘制火柴人案例
一、画布的使用
======================================================================
画布是在页面中绘制图形的特殊区域
1、使用画布
1、创建画布
使用HTML5中的canvas标签可以在网页中创建画布。
语法格式:
您的浏览器不支持canvas
2、获取画布
要想在JavaScript中控制画布,首先要获取画布。使用getElementById()
方法可以获取网页中的画布对象。
基本语法格式:
var canvas = document.getElementById(‘cavs’);
3、准备画笔
context对象也被称为绘制环境,通过该对象,可以在画布中绘制图形。
canvas.getContext(‘2d’);
2、绘制线
一条最简单的线由三部分组成,分别为初始位置、连线端点以及描边。
1、初始位置
在平面中(2d),初始位置可以通过“x,y”的坐标轴来表示。在画布中从最左上角“0,0”开始,x轴向右增大, y轴向下增大。
代码格式:
context.moveTo(10,10);
2、连线端点
基本语法格式:
context.lineTo(100,100);
3、描边
context.stroke()
结合前面的几步,就可以得到画出一条直线,如下所示:
4、线的样式
1、线的宽度
使用画布中的lineWidth属性可以定义线的宽度,该属性的取值为数值(不带单位),以像素为计量。
语法如下:
context.lineWidth=‘10’;
2、描边颜色
使用画布中的strokeStyle属性可以定义线的描边颜色,该属性的取值为十六进制颜色值或颜色英文。
语法如下:
//以下两种方式都可以设置
context.strokeStyle=‘#f00’;
//context.strokeStyle=‘red’;
3、端点形状
默认情况下,线的端点是方形的,通过画布中的lineCap属性可以改变端点的形状。
lineCap=’属性值’
常见的属性值有:
| 属性值 | 显示效果 |
| — | — |
| butt(默认值) | 默认效果,无端点,显示直线方形边缘 |
| round | 显示圆形端点 |
| square | 显示方形端点 |
5、线的路径
1、重置路径
在同一画布中,我们添加再多的连线端点也只能有一条路径,如果想要开始新的路径,就需要使用beginPath()
方法,当出现beginPath()
即表示路径重新开始。
2、闭合路径
闭合路径就是将我们绘制的开放路径,进行封闭处理,多点的路径闭合后会形成特定的形状。在画布中,使用closePath()
方法闭合路径。
6、填充路径
使用画布中的fill()
方法填充图形。
var context = document.getElementById(“cas”).getContext(‘2d’);
context.moveTo(10,10);//定义初始位置
context.lineTo(10,100);//定义连线端点
context.lineTo(100,100);//定义连线端点
context.fill();//填充图形
如下图所示:
7、 绘制圆
在画布中,使用arc()方法可以绘制圆或弧线。
语法:
arc(x,y,r,开始角,结束角,方向)
x和y:x和y表示圆心在x轴和y轴的坐标位置。
r:表示圆形或弧形的半径,用于确定图形的大小。
开始角:表示初始弧点位置。其中弧点使用数值和“Math.PI”(圆周率,可以理解为180度)表示。
结束角:结束的弧点位置,初始角的设置方式一致。
方向:分为顺时针和逆时针绘。
二、绘制火柴人案例
========================================================================
绘制如下所示的页面:
代码如下所示:
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以扫码获取(备注前端)
最后
在面试前我花了三个月时间刷了很多大厂面试题,最近做了一个整理并分类,主要内容包括html,css,JavaScript,ES6,计算机网络,浏览器,工程化,模块化,Node.js,框架,数据结构,性能优化,项目等等。
包含了腾讯、字节跳动、小米、阿里、滴滴、美团、58、拼多多、360、新浪、搜狐等一线互联网公司面试被问到的题目,涵盖了初中级前端技术点。
-
HTML5新特性,语义化
-
浏览器的标准模式和怪异模式
-
xhtml和html的区别
-
使用data-的好处
-
meta标签
-
canvas
-
HTML废弃的标签
-
IE6 bug,和一些定位写法
-
css js放置位置和原因
-
什么是渐进式渲染
-
html模板语言
-
meta viewport原理
盖了初中级前端技术点。
-
HTML5新特性,语义化
-
浏览器的标准模式和怪异模式
-
xhtml和html的区别
-
使用data-的好处
-
meta标签
-
canvas
-
HTML废弃的标签
-
IE6 bug,和一些定位写法
-
css js放置位置和原因
-
什么是渐进式渲染
-
html模板语言
-
meta viewport原理