JavaScript canvas绘制圆弧与圆形


Posted in Javascript onFebruary 18, 2020

本文实例为大家分享了canvas绘制圆弧与圆形的具体代码,供大家参考,具体内容如下

canvas 绘制圆弧

绘制圆弧使用 context.arc( ) 函数,包含六个参数。

context.arc(
 centerx,centery,radius,
 startingAngle,endingAngle,
 anticlockwise = false
)

分别代表:圆心 x 值,圆心 y 值,半径,开始的弧度值,结束的弧度值,(是否逆时针)。

例如:

window: onload = function(){
 var canvas = document.getElementById("canvas");
 var context = canvas.getContext("2d");
 canvas.width = 800;
 canvas.height = 800;

 context.lineWidth = 5;
 context.strokeStyle = "#005588";
 context.arc(300, 300, 200, 0, 1.5*Math.PI)
 context.stroke();
}

当需要绘制多条圆弧时,还是需要调用 context.beginPath( ) 和 context.closePath( ) 。但是当使用 context.closePath( ) 时,会自动将图形封闭,因此如果需要绘制不封闭圆弧,可以省略 context.closePath( )。

绘制实心圆

跟之前的多边形一样,使用 context.fill( ) ,代码:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <meta http-equiv="X-UA-Compatible" content="ie=edge">
 <title>Document</title>
</head>
<body>
 <canvas id="canvas"></canvas>
 <script>
  window: onload = function(){
   var canvas = document.getElementById("canvas");
   var context = canvas.getContext("2d");
   canvas.width = 800;
   canvas.height = 800;

   context.lineWidth = 5;
   context.strokeStyle = "#005588";
   context.arc(300, 300, 200, 0, 1.5*Math.PI)
   context.stroke();
   context.fillStyle = "red";
   context.fill();
  }
 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Safari5中alert的无限循环BUG
Apr 07 Javascript
Java框架SSH结合Easyui控件实现省市县三级联动示例解析
Jun 12 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
Jun 21 Javascript
js中常用的Tab切换效果(推荐)
Aug 30 Javascript
javascript简易画板开发
Apr 12 Javascript
详解angularjs中的隔离作用域理解以及绑定策略
May 31 Javascript
基于 webpack2 实现的多入口项目脚手架详解
Jun 26 Javascript
JS和Canvas实现图片的预览压缩和上传功能
Mar 30 Javascript
JavaScript中var、let、const区别浅析
Jun 24 Javascript
vue element table 表格请求后台排序的方法
Sep 28 Javascript
详解解决小程序中webview页面多层history返回问题
Aug 20 Javascript
使用vue制作滑动标签
Sep 21 Javascript
javascript中的with语句学习笔记及用法
Feb 17 #Javascript
JS实现百度搜索框关键字推荐
Feb 17 #Javascript
js实现百度淘宝搜索功能
Feb 17 #Javascript
JavaScript使用canvas绘制随机验证码
Feb 17 #Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 #Javascript
Vue 中使用 typescript的方法详解
Feb 17 #Javascript
vue框架中props的typescript用法详解
Feb 17 #Javascript
You might like
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
php第一次无法获取cookie问题处理
2014/12/15 PHP
PHP实现的浏览器检查类
2016/04/11 PHP
PHP中STDCLASS用法实例分析
2016/11/11 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
Laravel 解决composer相关操作提示php相关异常的问题
2019/10/23 PHP
Jquery实现无刷新DropDownList联动实现代码
2010/03/08 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
js图片预加载示例
2014/04/30 Javascript
JavaScript动态创建link标签到head里的方法
2014/12/22 Javascript
jquery实现弹出层效果实例
2015/05/19 Javascript
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
使用Node.js处理前端代码文件的编码问题
2016/02/16 Javascript
CKEditor无法验证的解决方案(js验证+jQuery Validate验证)
2016/05/09 Javascript
使用jquery提交form表单并自定义action的方法
2016/05/25 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
教你快速搭建Node.Js服务器的方法教程
2017/03/30 Javascript
详解vue-cli开发环境跨域问题解决方案
2017/06/06 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
js实现把时间戳转换为yyyy-MM-dd hh:mm 格式(es6语法)
2017/12/28 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
[02:07]2017国际邀请赛中国区预选赛直邀战队前瞻
2017/06/23 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
关于ResNeXt网络的pytorch实现
2020/01/14 Python
python em算法的实现
2020/10/03 Python
conda安装tensorflow和conda常用命令小结
2021/02/20 Python
工作疏忽检讨书
2014/01/25 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
飞机制造技术专业求职信
2014/07/27 职场文书
门市房租房协议书
2014/12/04 职场文书
校长师德表现自我评价
2015/03/04 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android