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

2019-01-28 15:22:04王旭

线条属性概述
线条的属性共有以下四个:
1、lineCap属性
lineCap 定义上下文中线的端点,可以有以下 3 个值。

butt:默认值,端点是垂直于线段边缘的平直边缘。
round:端点是在线段边缘处以线宽为直径的半圆。
square:端点是在选段边缘处以线宽为长、以一半线宽为宽的矩形。

2、 lineJoin属性
lineJoin 定义两条线相交产生的拐角,可将其称为连接。在连接处创建一个填充三角形,可以使用 lineJoin 设置它的基本属性。

miter:默认值,在连接处边缘延长相接。miterLimit 是角长和线宽所允许的最大比例(默认是 10)。
bevel:连接处是一个对角线斜角。
round:连接处是一个圆。

3、线宽
lineWidth 定义线的宽度(默认值为 1.0)。


4、笔触样式
strokeStyle 定义线和形状边框的颜色和样式。
后面两个前面已经说过了,这里我们着重来看看前两个属性。
线条的帽子lineCap

废话不多说,直接上代码看效果。

JavaScript Code复制内容到剪贴板
  1. <!DOCTYPE html>    <html lang="zh">   
  2. <head>        <meta charset="UTF-8">   
  3.     <title>线条的帽子</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;   
  10.         var context = canvas.getContext("2d");      
  11.         context.lineWidth = 50;            context.strokeStyle = "#1BAAAA";   
  12.            context.beginPath();   
  13.         context.moveTo(100,100);            context.lineTo(700,100);   
  14.         context.lineCap = "butt";            context.stroke();   
  15.            context.beginPath();   
  16.         context.moveTo(100,300);            context.lineTo(700,300);   
  17.         context.lineCap = "round";            context.stroke();   
  18.            context.beginPath();   
  19.         context.moveTo(100,500);            context.lineTo(700,500);   
  20.         context.lineCap = "square";            context.stroke();   
  21.            //下面画两个基准线方便观察   
  22.         context.lineWidth = 3;            context.strokeStyle = "black";   
  23.            context.beginPath();   
  24.         context.moveTo(100,0);            context.lineTo(100,600);   
  25.         context.moveTo(700,0);            context.lineTo(700,600);   
  26.         context.stroke();        }   
  27. </script>    </body>   
  28. </html>