1 <!DOCTYPE html>
2 <html>
3 <head lang="en">
4 <meta charset="UTF-8">
5 <title>制作弧和圆</title>
6 </head>
7 <body>
8 <canvas id="canvas" style="border:1px solid #aaa; display:block;margin:50px auto;">
9 当前浏览器不支持Canvas,请更换浏览器
10 </canvas>
11 <script>
12 window.onload=function(){
13 var canvas=document.getElementById("canvas");
14
15 canvas.width=1024;
16 canvas.height=768;
17
18 var context=canvas.getContext("2d");
19
20 context.lineWidth=5;
21 context.strokeStyle="#005588";
22 context.arc(300,300,200,0,1.5*Math.PI);
23 context.stroke();
24 }
25 </script>
26 <!--
27 说明:
28 1.context.arc(centerx,centery,radius,startingAngle,endingAngle,anticlockwise=false);//(圆心x坐标,圆心y坐标,半径,开始弧度值,结束弧度值,弧线绘制方向)弧线绘制方向默认为false为顺时针绘制方向。
29
30 -->
31
32 </body>
33 </html>

绘制效果如下:

 1 <!DOCTYPE html>
2 <html>
3 <head lang="en">
4 <meta charset="UTF-8">
5 <title>制作弧和圆</title>
6 </head>
7 <body>
8 <canvas id="canvas" style="border:1px solid #aaa; display:block;margin:50px auto;">
9 当前浏览器不支持Canvas,请更换浏览器
10 </canvas>
11 <script>
12 window.onload=function(){
13 var canvas=document.getElementById("canvas");
14
15 canvas.width=1024;
16 canvas.height=768;
17
18 var context=canvas.getContext("2d");
19
20 context.lineWidth=5;
21 context.strokeStyle="#005588";
22 for(var i=0;i<10;i++){
23 context.beginPath();
24 context.arc(50+i*100,60,40,0,2*Math.PI*(i+1)/10);
25 context.closePath();
26 context.stroke();
27 }
28 for(var i=0;i<10;i++){
29 context.beginPath();
30 context.arc(50+i*100,180,40,0,2*Math.PI*(i+1)/10);
31 context.stroke();
32 }
33 for(var i=0;i<10;i++){
34 context.beginPath();
35 context.arc(50+i*100,300,40,0,2*Math.PI*(i+1)/10,true);
36 context.closePath();
37 context.stroke();
38 }
39 context.fillStyle="#005588";
40 for(var i=0;i<10;i++){
41 context.beginPath();
42 context.arc(50+i*100,420,40,0,2*Math.PI*(i+1)/10,true);
43 context.closePath();
44 context.fill();;
45 }
46
47 for(var i=0;i<10;i++){
48 context.beginPath();
49 context.arc(50+i*100,540,40,0,2*Math.PI*(i+1)/10,true);
50 context.fill();;
51 }
52
53
54 }
55 </script>
56 <!--
57 说明:
58 1.当我们当前绘制的状态的路径不是封闭的路径的时候,如果我们使用了closePath(),closePath()会自动的为我们将这段不封闭的路径的首尾用线段连接起来
59 2.beginPath()和closePath()不一定要成对出现,beginPath()代表为我们规划一段新的路径,beginPath()代表要结束当前路径,如果当前路径没有封闭,会自动封闭路径
60 3.closePath()这个函数对于fill()是没有用的,当调用fill()时,canvas会自动把没有封闭的路径给封闭
61 -->
62
63 </body>
64 </html>

学习Canvas绘图与动画基础 制作弧和圆(五)的更多相关文章

  1. 学习Canvas绘图与动画基础 绘制多条路径(四)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  2. 学习Canvas绘图与动画基础 为多边形着色(三)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  3. 学习Canvas绘图与动画基础 绘制直线(二)

    1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...

  4. 学习Canvas绘图与动画基础 canvas入门(一)

    一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...

  5. 炫丽的倒计时效果Canvas绘图与动画基础

    前言 想要在自己做的网页中,加入canvas动画效果,但是发现模板各种调整不好,觉得还是要对canvas有所了解,才可以让自己的网页变得狂拽炫酷吊炸天! 一.绘制基础 1 <!DOCTYPE h ...

  6. canvas-炫丽的倒计时效果Canvas绘图与动画基础

    canvas 是基于转台来绘制的 来了解一下canvas的浏览器兼容性问题,如下图所示.(截图自can i use) tips:刚刚拿去ie8下测了一下,什么反应都没有,提前设定好的,如果该浏览器不支 ...

  7. 【HTML5】炫丽的时钟效果Canvas绘图与动画基础练习

    源自慕课网 效果如下: 全部代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  8. >炫酷的计时器效果Canvas绘图与动画<

    >炫丽的计时器效果Canvas绘图与动画< 虽然我是学习java的,但是因为最近使用html5的关系,多学习了一下前端知识. 现在,我要介绍的计时器是十分炫酷的,使用画布完成. 喜欢htm ...

  9. WPF学习之绘图和动画

    如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是 ...

随机推荐

  1. Celery:进一步探索

    一.创建Celery专用模块 对于大型项目,一般需要创建一个专用模块,便于管理. 1.1 模块结构 proj/__init__.py /celery.py /tasks.py proj/celery. ...

  2. 如何使用excel制作查分系统

    在工作学习中,我们经常会遇到使用excel制作查分系统这样的问题.培根说过:读书足以恬情,足以博采,足以长才.因此,面对使用excel制作查分系统我们应该有努力探索的精神.书到用时方恨少,事非经过不知 ...

  3. JVM 中的垃圾回收

    说到JVM,总是绕不开垃圾回收,因为其是JVM的核心之一,因为对象的创建是非常频繁的,想要提高程序的执行效率,拥有一个高效的垃圾回收机制是必不可少的. 首先要明确,因为对象的创建只在堆中,所以垃圾回收 ...

  4. WPF 基础 - 事件

    1. 前言 WPF 事件的路由环境是 UI 组件树,先来看看这棵树. 1.1 Logical Tree 和 Visual Tree WPF 中的树有两种,一颗是逻辑树,另一颗也是逻辑树. 开玩笑,WP ...

  5. Java流程控制:用户交互Scanner

    java.util.Scanner工具类获取用户输入语法:Scanner scanner = new Scanner(System.in);通过Scanner类的next()与nextLine()方法 ...

  6. Ubuntu pip版本的安装,卸载,查看,更新

    pip版本的安装: sudo apt-get install python3-pip pip版本的查看: pip3 --version pip3 -V pip更新: sudo pip3 install ...

  7. python基础学习之字符串的功能方法

    字符串:str的功能记录(该类需要记忆) .isdecimal():意思是判断是否由数字构成,仅仅可以解析"123" a='123'    d=a.isdecimal()    p ...

  8. android分析之mutex

    Android的锁是对Linux锁的一种包装: // ------------------------------------------------------------------------- ...

  9. solr简明教程

    文章目录 安装 启动 创建core 配置core索引MySQL数据 3.2.1 3.2.2 3.2.3 测试定时更新 五.配置中文分词 SolrJ 操作索引的增.删.查 七.通过SolrJ对MySQL ...

  10. P1014_Cantor表 (JAVA语言)

    题目描述 现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的.他是用下面这一张表来证明这一命题的: 1/11/1 , 1/21/2 , 1/31/3 , 1/41/4, 1/51/ ...