Złączenia linii
Właściwość lineJoin
jest ustawiana dla kontekstu i obowiązuje aż do zmiany.
Istnieją trzy sposoby łączenia linii okreśone jako 'miter’, ’round’ i 'bevel’.
Istnieje 9 możliwości wzajemnego użycia właściwości lineCap
i lineJoin
.
Listing
var cv = document.getElementById("canvas"); var ctx = cv.getContext("2d"); //- ctx.beginPath(); ctx.moveTo(50, 150); ctx.strokeStyle = "#0000ff"; ctx.lineTo(150, 150); ctx.lineTo(150, 50); ctx.lineWidth = 15; ctx.lineCap = "butt"; ctx.lineJoin = "miter"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(200, 150); ctx.strokeStyle = "#0000ff"; ctx.lineTo(300, 150); ctx.lineTo(300, 50); ctx.lineWidth = 15; ctx.lineCap = "butt"; ctx.lineJoin = "round"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(350, 150); ctx.strokeStyle = "#0000ff"; ctx.lineTo(450, 150); ctx.lineTo(450, 50); ctx.lineWidth = 15; ctx.lineCap = "butt"; ctx.lineJoin = "bevel"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(50, 350); ctx.strokeStyle = "#0000ff"; ctx.lineTo(150, 350); ctx.lineTo(150, 250); ctx.lineWidth = 15; ctx.lineCap = "square"; ctx.lineJoin = "miter"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(200, 350); ctx.strokeStyle = "#0000ff"; ctx.lineTo(300, 350); ctx.lineTo(300, 250); ctx.lineWidth = 15; ctx.lineCap = "square"; ctx.lineJoin = "round"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(350, 350); ctx.strokeStyle = "#0000ff"; ctx.lineTo(450, 350); ctx.lineTo(450, 250); ctx.lineWidth = 15; ctx.lineCap = "square"; ctx.lineJoin = "bevel"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(50, 550); ctx.strokeStyle = "#0000ff"; ctx.lineTo(150, 550); ctx.lineTo(150, 450); ctx.lineWidth = 15; ctx.lineCap = "round"; ctx.lineJoin = "miter"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(200, 550); ctx.strokeStyle = "#0000ff"; ctx.lineTo(300, 550); ctx.lineTo(300, 450); ctx.lineWidth = 15; ctx.lineCap = "round"; ctx.lineJoin = "round"; ctx.stroke(); //- ctx.beginPath(); ctx.moveTo(350, 550); ctx.strokeStyle = "#0000ff"; ctx.lineTo(450, 550); ctx.lineTo(450, 450); ctx.lineWidth = 15; ctx.lineCap = "round"; ctx.lineJoin = "bevel"; ctx.stroke(); //- ctx.beginPath(); ctx.font = "normal 14pt Arial"; ctx.fillText("miter", 100, 20); ctx.fillText("round", 250, 20); ctx.fillText("bevel", 400, 20); ctx.fillText("butt", 500, 100); ctx.fillText("square", 500, 300); ctx.fillText("round", 500, 500); ctx.scale(2, 2);