--- title: CanvasRenderingContext2D.lineJoin slug: Web/API/CanvasRenderingContext2D/lineJoin tags: - API - Canvas - Propriété - arrondit - coin - stroke translation_of: Web/API/CanvasRenderingContext2D/lineJoin ---
La propriété CanvasRenderingContext2D
.lineJoin
de l'API Canvas 2D détermine la forme à utiliser pour joindre deux segments de ligne à leur intersection.
Cette propriété n'a aucun effet quand deux segments connectés ont la même direction, car aucune zone de jonction ne sera ajoutée dans ce cas. Les segments dégénérés d'une longueur de zéro (c'est à dire avec les extrémités à la même position) seront ignorés.
Note: Les lignes peuvent être dessinées aves les méthodes {{domxref("CanvasRenderingContext2D.stroke()", "stroke()")}}, {{domxref("CanvasRenderingContext2D.strokeRect()", "strokeRect()")}} et {{domxref("CanvasRenderingContext2D.strokeText()", "strokeText()")}}.
ctx.lineJoin = "bevel" || "round" || "miter";
Il y a trois valeurs possibles pour cette propriété: "round"
, "bevel"
et "miter"
. Celle par défaut est "miter"
.
"round"
(rond)"bevel"
(biseau)"miter"
(onglet)Cet exemple applique des jointures arrondies au tracé.
<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('Changing_the_joins_in_a_path', 700, 180) }}
L'exemple dessine 3 tracés différents, illustrant chacune des trois valeurs de 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("Comparison_of_line_joins", "180", "180", "https://mdn.mozillademos.org/files/237/Canvas_linejoin.png")}}
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-linejoin", "CanvasRenderingContext2D.lineJoin")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.CanvasRenderingContext2D.lineJoin")}}
ctx.setLineJoin()
non-standard et obsolète est implémentée en plus de cette propriété.