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/

相关文章
|
9天前
|
数据可视化 前端开发
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
本文介绍了如何在Twaver-HTML5中使用鹰眼(Overview)可视化视图组件,它作为Network的缩略图,允许用户通过缩略图导航Network,支持单击、双击和框选操作来控制Network视图。
25 5
Twaver-HTML5基础学习(39)鹰眼可视化视图组件(OverView)
|
9天前
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
本文尝试在Twaver-HTML5的Network组件的ToolTip中显示echarts饼图,但未成功,可能与版本有关。
24 4
Twaver-HTML5基础学习(35)Network中ToolTip显示Chart(视图未成功出现)
|
9天前
|
前端开发
Twaver-HTML5基础学习(34)Link显示流动效果
本文介绍了如何在Twaver-HTML5中为Link添加流动效果,通过设置流动颜色、模式等来实现动态视觉效果。
25 3
Twaver-HTML5基础学习(34)Link显示流动效果
|
9天前
|
数据可视化 前端开发 容器
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
本文介绍了如何在Twaver-HTML5中使用列表可视化视图组件(List),展示了如何创建列表、设置列表属性(如行高、间隔颜色等)、实现数据绑定和排序,以及如何通过React代码示例进行操作。
14 2
Twaver-HTML5基础学习(41)列表可视化视图组件(List)
|
9天前
Twaver-HTML5基础学习(38)劈分面板SplitPane
本文介绍了如何在Twaver-HTML5中使用SplitPane组件来创建可分割的面板,通过动态调整分割条来改变面板的大小,支持水平和垂直分割。
16 2
Twaver-HTML5基础学习(38)劈分面板SplitPane
|
9天前
Twaver-HTML5基础学习(36)是否显示滚动条
本文探讨了在Twaver-HTML5中设置是否显示滚动条的方法,包括横向和纵向滚动条的控制,但遇到了设置不生效的问题,可能与软件版本有关。
19 2
Twaver-HTML5基础学习(36)是否显示滚动条
|
9天前
Twaver-HTML5基础学习(32)Network样式andTree样式
本文介绍了如何在Twaver-HTML5中自定义Network和Tree组件的样式,包括标签、提示、颜色、告警等。
25 2
Twaver-HTML5基础学习(32)Network样式andTree样式
|
9天前
|
前端开发
Twaver-HTML5基础学习(37)network导出图片并下载
本文介绍了如何在Twaver-HTML5中将network导出为图片并提供下载,主要通过将network转换为canvas对象,然后转换为base64编码的图片进行展示和下载。
27 5
|
9天前
|
XML 移动开发 前端开发
HTML5 SVG和canvas的性能探讨
HTML5 中的 SVG(可缩放矢量图形)和 Canvas(画布)分别用于网页图形绘制。SVG 基于矢量图形,使用 XML 描述,适合静态或少量动态内容(如图标、图表),易于编辑且保持高分辨率;Canvas 则基于位图,通过 JavaScript 绘制,更适合快速更新大量图形的场景(如游戏、动态动画),但在复杂图形计算时可能遇到性能瓶颈。总体而言,SVG 适用于静态和少量动态内容,而 Canvas 更适合高频率更新和性能要求高的场景。
|
9天前
|
移动开发 前端开发 JavaScript
HTML5 Canvas详解及应用
HTML5 Canvas 允许通过 JavaScript 在网页上动态绘制图形、动画等视觉内容。首先在 HTML 中定义 `&lt;canvas&gt;` 元素,并通过 JavaScript 获取画布上下文进行绘制。常见方法包括绘制矩形、路径、圆形和文本,以及处理图像和创建动画效果。适用于游戏开发、数据可视化、图像编辑和动态图形展示等多种应用场景。需要注意性能优化、无状态绘制及自行处理事件等问题。
下一篇
无影云桌面