--- title: CanvasRenderingContext2D.lineJoin slug: Web/API/CanvasRenderingContext2D/lineJoin tags: - API - Canvas - Property translation_of: Web/API/CanvasRenderingContext2D/lineJoin ---
Свойство CanvasRenderingContext2D
.lineJoin
предоставляемое Canvas 2D API определяет форму вершин в которых линии сходятся. Длина линий должна быть ненулевой.
Смотрите также главу Applying styles and color в Canvas Tutorial.
Note: Lines can be drawn with the {{domxref("CanvasRenderingContext2D.stroke()", "stroke()")}}, {{domxref("CanvasRenderingContext2D.strokeRect()", "strokeRect()")}}, and {{domxref("CanvasRenderingContext2D.strokeText()", "strokeText()")}} methods.
ctx.lineJoin = "bevel" || "round" || "miter";
Свойство может принимать три значения: round
, bevel
и miter
. По умолчанию установлено значение miter
. Имейте ввиду, что свойство никак не повлияет на линии направленные в одну сторону, потому что не будет создана зона пересечения.
round
bevel
miter
Ниже представлен простой фрагмент кода, использующий lineJoin
для скругления места соединения линий.
<canvas id="canvas"></canvas>
const canvas = document.getElementById('canvas'); const ctx = canvas.getContext('2d'); ctx.lineWidth = 20; ctx.lineJoin = 'round'; ctx.beginPath(); ctx.moveTo(20, 20); ctx.lineTo(190, 100); ctx.lineTo(280, 20); ctx.lineTo(280, 150); ctx.stroke();
{{ EmbedLiveSample('Использование_свойства_lineJoin', 700, 180) }}
Пример ниже наглядно демонстрирует разницу между значениями свойства lineJoin.
<canvas id="canvas" width="150" height="150"></canvas>
var ctx = document.getElementById('canvas').getContext('2d'); var lineJoin = ['round', 'bevel', 'miter']; ctx.lineWidth = 10; for (let i = 0; i < lineJoin.length; i++) { ctx.lineJoin = lineJoin[i]; ctx.beginPath(); ctx.moveTo(-5, 5 + i * 40); ctx.lineTo(35, 45 + i * 40); ctx.lineTo(75, 5 + i * 40); ctx.lineTo(115, 45 + i * 40); ctx.lineTo(155, 5 + i * 40); ctx.stroke(); }
{{EmbedLiveSample("Разница_между_значениями_lineJoin", "180", "180", "https://mdn.mozillademos.org/files/237/Canvas_linejoin.png")}}
{{Compat}}
В браузерах на базе Webkit и Blink помимо этого свойства, также поддерживается нестандартный метод ctx.setLineJoin()
.