美文网首页
canvas绘制弧线

canvas绘制弧线

作者: 岩蔷薇 | 来源:发表于2017-03-21 10:50 被阅读0次

1 绘制圆形(arc)

ctx.arc(x,y,r,sAngle,eAngle,counterclockwise);
x,y圆心坐标,r半径;
sAngle,eAngle:起始,结束角度。
counterclockwise:是否是逆时针。true为逆时针,false为顺时针(默认)
  • 弧度和角度的转换公式: rad = deg*Math.PI/180

  • 圆形上面的点的坐标的计算公式

  • x =x0 + Math.cos(rad) * R;//x0和y0是圆心点坐标

  • y =y0 + Math.sin(rad) * R;//注意都是弧度

    <script>
        var canvas = document.getElementById('canvas');
        var ctx = canvas.getContext('2d');
    
        //弧形:圆心,半径,角度
        var x0 = 200;
        var y0 = 200;
        var radius = 100;
        var Angle = 72;
        ctx.lineWidth = 2;
        ctx.strokeStyle = "red";
        //角度都要转成弧度
        ctx.arc(x0,y0,radius,0,Angle*Math.PI/180,false);        //counterclockwise:false 表示顺时针(默认)
        ctx.stroke();
        ctx.fillStyle = 'pink';
        ctx.fill();
    
        ctx.beginPath();
        ctx.strokeStyle = "blue";
        ctx.lineWidth = 6;
        ctx.arc(x0,y0,radius,Angle*Math.PI/180, 270*Math.PI/180,false);
        ctx.stroke();
        //ctx.fillStyle = 'orange';
        ctx.fill();
    </script>
    

2 非零正交原则

ctx.fill();

注意:交叉路径的填充问题,“非零环绕原则”,顺逆时针穿插次数决定是否填充。

1.如果线段是与路径的顺时针部分相交,则计数器加1,
2.如果线段是与路径的逆时针部分相交,则计数器减1,
3.若计数器最终结果不是0,在调用fill()方法时,浏览器就会对其进行填充;若为0,就不对其填充。

<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext('2d');

ctx.arc(250,250,200,0,2*Math.PI,true);
ctx.arc(250,250,100,0,2*Math.PI,false);
ctx.fillStyle = "pink";
ctx.fill();
</script>

相关文章

  • canvas绘制弧线

    1 绘制圆形(arc) 弧度和角度的转换公式: rad = deg*Math.PI/180 圆形上面的点的坐标的计...

  • 2017-04-25 canvas 学习笔记

    canvas 绘制线条 嵌入式不建议使用,会导致内部图片拉伸 绘制表格背景 绘制表格 绘制矩形 绘制画板 绘制弧线...

  • canvas绘制弧线和圆

    上一节,我们学习了如何使用绘制线条及多边形的方式来绘制七巧板,这一节,我们学习如何绘制弧线和圆。同样,html文件...

  • 绘图中的其他知识点总结

    Draw Canvas 可以绘制的对象:弧线(arcs)、填充颜色(argb和color)、圆(circle和ov...

  • canvas 入门

    绘制倒计时时钟 1 绘制一条线 然后利用刚学的线条绘制个七巧板 2 绘制弧线 canvas 中的方法 圆的起始状态...

  • Android Canvas画布

    常用方法 从上面方法的名字看来我们可以知道Canvas可以绘制的对象有:弧线(arcs)、填充颜色(argb和co...

  • 手把手教你 Tableau 绘制跑道图(二十六)

    手把手教你 Tableau 绘制跑道图 前置知识 绘制电影数量弧线图 原数据展示 构建绘制弧线图数据 绘制电影数量...

  • canvas画弧线

    canvas画弧提供了两种方法,一种是arc,一种是arcTo。两者的区别是什么呢? arc(圆心,半径,开始角度...

  • 浅析HTML5的Canvas——案例绘制

    1. Canvas绘制五环 2.Canvas绘制饼状图以及绘制文字 3. Canvas绘制一堆不断变大变小的随机移...

  • 四、Android绘制知识总结(画布篇)

    Canvas(画布),绘制的载体,通过Paint(画笔)可以在上面绘制所有你想绘制的图案。 1、Canvas绘制A...

网友评论

      本文标题:canvas绘制弧线

      本文链接:https://www.haomeiwen.com/subject/imwwnttx.html