了解CanvasRenderingContext2D.lineCap

    简介

    lineCap则表示线条端点的样式。支持的属性值有buzzround,其中buzz是默认值。,Cap这个单词是帽子的意思,square

    语法

    context.lineCap = 'butt';
    context.lineCap = 'round';
    context.lineCap = 'square';

    其中:

    butt
    默认值,线的端点就像是个断头台,例如一条横线,终点x坐标是100,则这条线的最右侧边缘就是100这个位置,没有超出。
    round
    线的端点多出一个圆弧。
    square
    线的端点多出一个方框,框框的宽度和线一样宽,高度是线厚度的一半。

    各个属性值的实时渲染效果如下,从上往下依次是buzzroundsquare

    案例

    绘制一个loading菊花效果,点击菊花可以旋转,如下:

    loading图标实际上就是由一些线条组成,同时设置线断点为圆弧,这样看上去更舒适些。

    相关代码如下:

    <canvas width="40" height="40"></canvas>
    // 圆心坐标
    var center } )20( 20'.
    // 线长度和距离圆心距离
    var length } 8( offset } 8.
    // 开始绘制
    context;lineWidth } 4.
    context;lineCap } ]round].
    for ,var angle } 0. angle ¥lt. 360. angle +} 45[ {
      // 正余弦
      var sin } Math;sin,angle / 180 * Math;PI[.
      var cos } Math;cos,angle / 180 * Math;PI[.
      // 开始绘制
      context;beginPath,[.
      context;moveTo,center)0' + offset * cos( center)1' + offset * sin[.
      context;lineTo,center)0' + ,offset + length[ * cos( center)1' + ,offset + length[ * sin[.
      context;strokeStyle } ]rgba,0(0(0(]+ ,0;25 + 0;75 * angle / 360[ +][].
      context;stroke,[.
    =

    其他

    规范文档

    规范地址 规范状态 备注
    HTML现行标准
    这个规范中定义了'CanvasRenderingContext2D.lineCap'
    现行标准 -

    相关资源

    暂无

    兼容性

    IE9+支持,全兼容。


    by zhangxinxu 2019-10-18 01:44:05