HTML5的学习之canvas画布(三)

简介: HTML5的学习之canvas画布 上篇博客主要讲解了canvas线条有关的一些属性和方法。这篇文章我们继续学习canvas有关图形绘制的方法。 1.矩形 方法 描述 rect() 创建矩形。 fillRect() 绘制"被填充"的矩形。 strokeRect() 绘制矩形(无填充)。 clearRect() 在给定的矩形内清除指定的像素。 2.圆形 方法 描述 arc() 创建弧/曲线(用于创建圆形或部分圆)。 arcTo() 创建两切线之间的弧/曲线。 ellipse() 创建椭圆。 3.路径 方法 描述 fill() 填充当前绘图(路径)。 stroke() 绘制已定

HTML5的学习之canvas画布




上篇博客主要讲解了canvas线条有关的一些属性和方法。这篇文章我们继续学习canvas有关图形绘制的方法。


1.矩形

方法 描述
rect() 创建矩形。
fillRect() 绘制"被填充"的矩形。
strokeRect() 绘制矩形(无填充)。
clearRect() 在给定的矩形内清除指定的像素。



2.圆形


方法 描述
arc() 创建弧/曲线(用于创建圆形或部分圆)。
arcTo() 创建两切线之间的弧/曲线。
ellipse() 创建椭圆。

3.路径


方法 描述
fill() 填充当前绘图(路径)。
stroke() 绘制已定义的路径。
beginPath() 起始一条路径,或重置当前路径。
moveTo() 把路径移动到画布中的指定点,不创建线条。
closePath() 创建从当前点回到起始点的路径。
lineTo() 添加一个新点,然后在画布中创建从该点到最后指定点的线条。
clip() 从原始画布剪切任意形状和尺寸的区域。
isPointInPath() 如果指定的点位于当前路径中,则返回 true,否则返回 false。
quadraticCurveTo() 创建二次贝塞尔曲线。
bezierCurveTo() 创建三次贝塞尔曲线。


路径HTML代码:

<canvasid="my_canvas"></canvas>


路径JavaScript代码:

// 03canvas画布的路径// 1.获取元素varoCanvas=document.getElementById("my_canvas");
// 2.设置画布大小oCanvas.width="1000";
oCanvas.height="1000";
// 3.获取 画布环境varmyCanvas=oCanvas.getContext("2d");
// 4.绘图// fill() 填充当前绘图(路径)。// myCanvas.fillStyle="skyblue";// myCanvas.rect(0, 0, 200, 200);// myCanvas.fill();// stroke() 绘制已定义的路径。// myCanvas.strokeStyle="yellow";// myCanvas.rect(0, 0, 200, 200);// myCanvas.stroke();// beginPath()  起始一条路径,或重置当前路径。myCanvas.beginPath();//开始   路径myCanvas.lineWidth="10";
myCanvas.strokeStyle="yellow";
// moveTo() 把路径移动到画布中的指定点,不创建线条。myCanvas.moveTo(0,50);
// lineTo() 添加一个新点,然后在画布中创建从该点到最后指定点的线条。myCanvas.lineTo(200,200);
myCanvas.lineJoin="miter";//尖角myCanvas.lineJoin="round";//圆角myCanvas.lineJoin="bevel";;//斜角myCanvas.lineTo(300,100);
myCanvas.lineTo(400,500);
myCanvas.lineTo(100,400);
myCanvas.closePath();
myCanvas.stroke();
// closePath()  创建从当前点回到起始点的路径。

圆形HTML代码:

<canvasid="my_canvas"></canvas>


圆形JavaScript代码:


// 1.获取元素varoCanvas=document.getElementById("my_canvas");
// 2.设置画布大小oCanvas.width="1000";
oCanvas.height="1000";
// 3.获取 画布环境varmyCanvas=oCanvas.getContext("2d");
// 4.绘图// beginPath()  起始一条路径,或重置当前路径// myCanvas.beginPath();//路径开始// // arc(x,y,r,起始角,结束角,false顺/true逆) 创建弧/曲线(用于创建圆形或部分圆)。// myCanvas.lineWidth="10";    // // myCanvas.strokeStyle="yellow";// myCanvas.fillStyle="yellow";// myCanvas.arc(500,500,200,0,Math.PI/2,true);// myCanvas.closePath();// // myCanvas.stroke();// myCanvas.fill();// arcTo(x1,y1,x2,y2,r) 创建两切线之间的弧/曲线。myCanvas.beginPath();
myCanvas.moveTo(50,50);
myCanvas.lineTo(200,50);
myCanvas.arcTo(300,50,300,150,100);
myCanvas.lineTo(300,300);
myCanvas.stroke();


视频讲解链接:
https://www.bilibili.com/video/BV1Fv41167hL/

相关文章
|
2月前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
59 0
|
2天前
|
移动开发 HTML5
这些年没来得及学习的一些 HTML5 标签
【9月更文挑战第16天】HTML5 引入了许多新标签,增强了网页的功能与便利性。这些标签包括结构标签如 `&lt;header&gt;`(定义页眉)、`&lt;footer&gt;`(定义页脚)、`&lt;nav&gt;`(定义导航链接)、`&lt;section&gt;`(定义文档节)和 `&lt;article&gt;`(定义独立内容),以及多媒体标签 `&lt;audio&gt;` 和 `&lt;video&gt;`,用于播放音频和视频。此外,还有表单相关标签,如 `&lt;datalist&gt。
|
29天前
|
Dart 前端开发 Java
|
6天前
|
前端开发
在 HTML canvas 绘制文本
在 HTML canvas 绘制文本
8 0
|
1月前
HTML基础知识学习
HTML基础知识学习
29 1
|
26天前
|
移动开发 前端开发 JavaScript
|
30天前
|
JavaScript 算法 前端开发
学习 node.js 六 Markdown 转为 html,zlib
【8月更文挑战第19天】
12 0
|
2月前
|
自然语言处理 开发者 Python
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的 HTML 内容。Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强。
|
3月前
杨老师课堂之网页制作HTML的学习入门-含有案例1
杨老师课堂之网页制作HTML的学习入门-含有案例
31 3
|
2月前
|
JavaScript 前端开发 Java
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)
前端网页开发学习(HTML+CSS+JS)有这一篇就够!(二)