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/

相关文章
|
19天前
|
Web App开发 移动开发 前端开发
html5 canvas五彩碎纸屑飘落动画特效
h5 canvas飘落纸片动画是一款实现五彩纸屑飘落的背景动画特效,基于canvas绘制的空中飘落的纸屑片动画特效,适用于网页动态背景效果代码。简单使用,欢迎下载!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
35 5
|
1月前
|
前端开发
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
25 0
基于canvas实现的彩色纸屑组成文字3d动画HTML源码
|
1月前
|
移动开发 前端开发 HTML5
HTML5 Canvas制作的粒子十秒倒计时源码
一段基于HTML5 Canvas制作的粒子爆炸,十秒数字倒计时,全屏倒计时动画效果,给人一种非常大气的视觉感
34 0
HTML5 Canvas制作的粒子十秒倒计时源码
|
1月前
|
前端开发 JavaScript
Canvas三维变化背景动画HTML源码
Canvas三维变化背景动画HTML源码
34 5
|
2月前
|
人工智能
|
3月前
|
XML 移动开发 前端开发
HTML5 SVG和canvas的性能探讨
HTML5 中的 SVG(可缩放矢量图形)和 Canvas(画布)分别用于网页图形绘制。SVG 基于矢量图形,使用 XML 描述,适合静态或少量动态内容(如图标、图表),易于编辑且保持高分辨率;Canvas 则基于位图,通过 JavaScript 绘制,更适合快速更新大量图形的场景(如游戏、动态动画),但在复杂图形计算时可能遇到性能瓶颈。总体而言,SVG 适用于静态和少量动态内容,而 Canvas 更适合高频率更新和性能要求高的场景。
|
2月前
html基础知识学习
html基础知识学习
39 0
|
3月前
|
移动开发 前端开发 数据挖掘
用HTML5中的 画布(Canvas)在“圳品”信息系统网页上绘制显示饼图
用HTML5中的 画布(Canvas)在“圳品”信息系统网页上绘制显示饼图
|
3月前
|
移动开发 数据可视化 HTML5
Twaver-HTML5基础学习(40)表格可视化视图组件(Table)
本文介绍了如何在Twaver-HTML5中使用表格可视化视图组件(Table),包括创建表格、定义列对象、实现数据绑定和排序,以及处理表格事件和获取表格数据的方法。
48 1
|
前端开发 数据安全/隐私保护
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第6章表格与表单
HTML5+CSS3前端入门教程---从0开始通过一个商城实例手把手教你学习PC端和移动端页面开发第6章表格与表单
207 0