学习Canvas绘图与动画基础 制作弧和圆(五)
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绘图与动画基础 制作弧和圆(五)的更多相关文章
- 学习Canvas绘图与动画基础 绘制多条路径(四)
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- 学习Canvas绘图与动画基础 为多边形着色(三)
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- 学习Canvas绘图与动画基础 绘制直线(二)
1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="U ...
- 学习Canvas绘图与动画基础 canvas入门(一)
一.创建canvas 1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta char ...
- 炫丽的倒计时效果Canvas绘图与动画基础
前言 想要在自己做的网页中,加入canvas动画效果,但是发现模板各种调整不好,觉得还是要对canvas有所了解,才可以让自己的网页变得狂拽炫酷吊炸天! 一.绘制基础 1 <!DOCTYPE h ...
- canvas-炫丽的倒计时效果Canvas绘图与动画基础
canvas 是基于转台来绘制的 来了解一下canvas的浏览器兼容性问题,如下图所示.(截图自can i use) tips:刚刚拿去ie8下测了一下,什么反应都没有,提前设定好的,如果该浏览器不支 ...
- 【HTML5】炫丽的时钟效果Canvas绘图与动画基础练习
源自慕课网 效果如下: 全部代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...
- >炫酷的计时器效果Canvas绘图与动画<
>炫丽的计时器效果Canvas绘图与动画< 虽然我是学习java的,但是因为最近使用html5的关系,多学习了一下前端知识. 现在,我要介绍的计时器是十分炫酷的,使用画布完成. 喜欢htm ...
- WPF学习之绘图和动画
如今的软件市场,竞争已经进入白热化阶段,功能强.运算快.界面友好.Bug少.价格低都已经成为了必备条件.这还不算完,随着计算机的多媒体功能越来越强,软件的界面是否色彩亮丽.是否能通过动画.3D等效果是 ...
随机推荐
- Mongo的相关语法
mongod的条件操作符 $gt -------- greater than > $gte --------- gt equal >= $lt -------- less than < ...
- P4285 [SHOI2008]汉诺塔 题解 (乱搞)
题目链接 P4285 [SHOI2008]汉诺塔 解题思路 提供一种打表新思路 先来证明一个其他题解都没有证明的结论:\(ans[i]\)是可由\(ans[i-1]\)线性递推的. (\(ans[i] ...
- CSS行内元素盒模型
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- Activity类组成分析(一)Instrumentation
目录 前言 解剖 继承关系 重要成员 Instrumentation 总结 前言 要了解清楚StartActivity的过程,Activity对象实例的构造过程是重要组成部分:而要弄清楚Activit ...
- 优化 ASP.NET Core Docker 镜像的大小
在这容器化的世界里,我们已经很少直接通过文件发布来运行asp.net core程序了.现在大多数情况下,我们都会使用docker来运行程序.在使用docker之前,我们往往需要打包我们的应用程序.as ...
- canvas绘制图像轮廓效果
在2d图形可视化开发中,经常要绘制对象的选中效果. 一般来说,表达对象选中可以使用边框,轮廓或者发光的效果. 发光的效果,可以使用canvas的阴影功能,比较容易实现,此处不在赘述. 绘制边框 绘制 ...
- 面试高频题:说一说对Spring和SpringMvc父子容器的理解?
引言 以前写了几篇关于SpringBoot的文章<面试高频题:springBoot自动装配的原理你能说出来吗>.<保姆级教程,手把手教你实现一个SpringBoot的starter& ...
- Java代码实现热部署
一.思路 0. 监听java文件最后修改时间,如果发生变化,则表示文件已经修改,进行重新编译 1. 编译java文件为 class文件 2. 通过手写类加载器,加载 class文件 ,创建对象 3. ...
- STM32内存结构介绍和FreeRTOS内存分配技巧
这是我第一次使用FreeRTOS构建STM32的项目,踩了好些坑,又发现了我缺乏对于操作系统的内存及其空间的分配的知识,故写下文档记录学习成果. 文章最后要解决的问题是,如何恰当地分配FreeRTOS ...
- C++并发与多线程学习笔记--基本概念和实现
基本概念 并发 可执行程序.进程.线程 学习心得 并发的实现方法 多进程并发 多线程并发 总结 C++标准库 基本概念 (并发.进程.线程)区分C++初级编程和中高级编程 并发 两个或者更多的任务同时 ...