HTML5 Canvas的常用线条属性值总结

2019-01-28 15:22:04王旭
  •         context.lineJoin = "miter";            context.miterLimit = 10;   
  •         context.lineWidth = 5;            context.strokeStyle = "black";   
  •         context.stroke();        }   
  • </script>    </body>   
  • </html>  

    运行结果:
    2016317114500411.jpg (850×500)

    会发现,这个miterLimit规定了一个自动填充连接点的极限值。如果超过了这个值,会导致lineJoin属性失效,会从 miter 变成 bevel。可以看出来,这个值和线宽以及夹角有关,具体是啥关系。看下图。
    2016317114533839.jpg (1240×530)

    可以看到,关系有点复杂。有兴趣的小伙伴可以推导一下这个值与线宽、夹角的函数关系。其实,大多时候用不到这个隐藏属性,即便用到了也是凭感觉写个数然后不满意再调试即可。
    高级线段绘制举例
    实际在画布上绘制线段时,会有一些奇怪的现象发生,这里融合本节课学到的两个线段的属性讲解一个。

    JavaScript Code复制内容到剪贴板
    1. <!DOCTYPE html>    <html lang="zh">   
    2. <head>        <meta charset="UTF-8">   
    3.     <title>miterLimit</title>    </head>   
    4. <body>    <div id="canvas-warp">   
    5.     <canvas id="canvas" style="border: 1px solid #aaaaaa; display: block; margin: 50px auto;">            你的浏览器居然不支持Canvas?!赶快换一个吧!!   
    6.     </canvas>    </div>   
    7.    <script>   
    8.     window.onload = function(){            var canvas = document.getElementById("canvas");   
    9.         canvas.width = 800;            canvas.height = 600;