canvas的学习笔记 8 lineJoin

  知识点:lineJoin=type

    同一个path内,设定线条与线条间接合处的样式。共有3个值 round、bevel、miter

    1、round通过填充一个额外,圆心在相连部分末端的扇形,绘制拐角的形状,圆角的半径是线段的宽度

    2、bevel在相连部分的末端填充一个额外的以三角形为底的区域。每个部分都有各自独立的矩形拐角

    3、miter(默认)通过延伸相连部分的外边缘,使其相交与一点,形成一个额外的菱形区域

具体的demo

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">
canvas{
border: 1px solid red;
}
</style>
</head>
<body>
<canvas id="tutorial" width="300px" height="350px"></canvas>
</body>
<!-- 知识点:同一个path内,设定线条与线条间接合处的样式 -->
<!-- 共有3个值round、bevel、miter: -->
<!-- 1、round通过填充一个额外的,圆心在相连部分末端的扇形,绘制拐角形状。圆角的半径是线段的宽度 -->
<!-- 2、bevel在相连部分的末端填充一个额外的以三角形为底的区域。每个部分都有各自独立的矩形拐角 -->

<script type="text/javascript">
function draw(){
var canvas = document.getElementById("tutorial")
if(!canvas.getContext) return;
var ctx = canvas.getContext("2d")

var lineJoin=["round","bevel","miter"];
ctx.lineWidth=20;

for(var i =0 ;i<3;i++){
ctx.lineJoin=lineJoin[i]
ctx.beginPath();
ctx.moveTo(50,50+50*i);
ctx.lineTo(100,100+i*50);
ctx.lineTo(150,50+i*50);
ctx.lineTo(200,100+i*50);
ctx.lineTo(250,50+i*50);
ctx.stroke()
}
}
draw()
</script>
</html>

 

posted @ 2020-03-27 15:11  小小小~  阅读(192)  评论(0编辑  收藏  举报