Canvas绘制圆
来源:互联网 发布:淘宝大屏的轮播图 编辑:程序博客网 时间:2024/06/02 02:02
之前练习了一下绘制矩形顺便了解了一些Canvas经常用到的属性名。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
现在来练练画圆。
<canvas id="myCanvas" width="200" height="200" style="border:1px solid #c3c3c3;"></canvas><script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.arc(100,100,80,0,Math.PI*2,false); cxt.fill();</script>
画圆的方法:arc(x, y, radius, startRad, endRad, anticlockwise)
x:圆心x坐标
y:圆心y坐标
radius:圆的半径
startRad:初始弧度
endRad:结束弧度
anticlockwise:画圆的方向,true:逆时针 false:顺时针 默认是false
弧度:是以x轴正方向(即3点针方向),顺时针旋转的角度来计算的。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
现在我们画个从3点到6点的圆。弧度就是0到(1/2)π,这是顺时针的情况。如果你想逆时针,那就是(1/2)π到0.
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.fillStyle="#FF0000"; cxt.arc(100,100,80,Math.PI*0,Math.PI*0.5,false); cxt.fill();</script>
一开始很点看不懂这是什么鬼,为什么不是1/4的圆的形状。
蒙了一会儿,然后自己画了一下图就有点懂了
应该是这么一回事。它是起始点和结束点连成一条线,这条线和最外侧的弧线组成一个面。就形成了这么一个形状。
接着再理解一下那个弧度。
其实简单点说就是 起始弧度规定一个点,结束弧度规定了一个点,两个点连成直线。然后这两个点根据你的旋转方向形成弧线,直接和弧线组成一个面,就是所绘制的图形了。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
理解了这些 ,画弧线就是简单了,在上面的例子上我们惊变一下,我们不填充图形,直接绘制边框即。
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.strokeStyle='#000000'; cxt.arc(100,100,80,Math.PI*0,Math.PI*0.5,false); cxt.stroke();</script>
------------------------------------------------------------------------------------------------------------------------------------------------------------------
再绘制一个圆圈图形
<script type="text/javascript"> var c=document.getElementById("myCanvas"); var cxt=c.getContext("2d"); cxt.strokeStyle='#000000'; cxt.arc(100,100,80,Math.PI*0,Math.PI*2,false); cxt.stroke();</span></script>
--------------------------------------------------------------------------------------------------------------------------------------------------------------------
PS:
如果大家忘记弧度是什么鬼,可以先百度一下弧度哈!
最后这些仅属于这人理解,仅供参考,大家还是根据自己的实际练习去理解理解吧
- Canvas绘制圆
- Android canvas 绘制实心圆
- Canvas绘制圆角矩形
- Canvas绘制线段和圆
- JS-canvas 渐变 绘制圆
- canvas绘制
- Canvas绘制
- html5<canvas>标签绘制矩形,线条,圆
- canvas.drawRoundRect方法,绘制圆角矩形
- 在Canvas中绘制圆角矩形
- 详述Canvas(五)/绘制圆角矩形
- canvas之三:绘制弧和圆
- html5 canvas 绘制圆角矩形
- Canvas学习:绘制虚线和圆点线
- Canvas学习:绘制圆和圆弧
- CANVAS绘制虚线和圆点虚线
- angular 使用html5 canvas绘制圆组建
- 详述Canvas(五)/绘制圆角矩形
- Plist文件存储及沙盒路径详解
- windows service 2012:[7]搭建FTP服务器
- Android -- 使用inBitmap要注意的地方
- SSH之Hibernate save或update方法已经执行,但是数据库没保存数据
- Ajax实例
- Canvas绘制圆
- LeetCode----Single NumberII
- Redis GEO 测试
- Future 类
- ajax上传图片
- 常量指针、指针常量、野指针、空指针概念解析
- android 获取图片绝对地址
- CSS3中的transform变形
- myeclipse使用maven构建struts2项目详解