线条端点 lineCap

Canvas lineCap属性详解,掌握butt、round、square三种线帽样式的特点和应用场景。lineCap属性决定线条端点的样式,影响开放路径的起始和结束位置外观。

基本语法

ctx.lineCap = 'butt' | 'round' | 'square'

三种端点样式

说明
butt平直端点,默认值
round半圆形端点
square矩形端点

端点样式演示

三种端点样式对比

端点长度差异

  • butt:端点与坐标点对齐
  • round:端点超出坐标点半径距离
  • square:端点超出坐标点半个线宽
// round和square会使线条变长
ctx.lineWidth = 10
ctx.lineCap = 'round'  // 两端各增加5像素
ctx.beginPath()
ctx.moveTo(50, 50)
ctx.lineTo(150, 50)
ctx.stroke()  // 实际长度160像素

端点长度可视化

端点长度差异(灰色区域为额外长度)

应用场景

butt:精确控制长度,几何图形

round:柔和外观,手绘风格

square:强调端点,设计感

虚线端点效果

虚线配合不同端点

注意事项

lineCap只影响开放路径的端点,闭合路径(closePath)不显示端点样式。