--- title: CanvasRenderingContext2D.lineCap slug: Web/API/CanvasRenderingContext2D/lineCap tags: - API - Canvas - CanvasRenderingContext2D - Propriété - Reference translation_of: Web/API/CanvasRenderingContext2D/lineCap ---
La propriété CanvasRenderingContext2D.lineCap de l'API Canvas 2D détermine la façon dont les extrémités de chaque ligne sont dessinées. Il y a trois valeurs possibles pour cette propriété, qui sont : butt
, round
et square
. Par défaut, cette propriété est définie comme butt
.
Voir aussi le chapitre Ajout de styles et de couleurs dans le Tutoriel canvas.
ctx.lineCap = "butt"; ctx.lineCap = "round"; ctx.lineCap = "square";
butt
round
square
lineCap
Il ne s'agit que d'un fragment de code simple utilisant la propriété lineCap pour dessiner des lignes avec des extrémités arrondies.
<canvas id="canevas"></canvas>
var canevas = document.getElementById('canevas'); var ctx = canevas.getContext('2d'); ctx.beginPath(); ctx.moveTo(0, 0); ctx.lineWidth = 15; ctx.lineCap = 'round'; ctx.lineTo(100, 100); ctx.stroke();
Modifiez le code ci-dessous et voyez vos modifications mises à jour en direct dans le canvas :
{{ EmbedLiveSample('code_jouable', 700, 360) }}
lineCap
Dans cet exemple, trois lignes sont dessinées, chacune avec une valeur différente pour la propriété lineCap
. Deux guides pour voir les différences exactes entre les trois ont été ajoutés. Chacune de ces lignes commence et se termine exactement sur ces guides.
La ligne à gauche utilise l'option par défaut butt
. Elle est dessinée complètement au raz des guides. La seconde est paramétrée pour utiliser l'option round
. Cela ajoute à l'extrémité un demi-cercle d'un rayon égal à la moitié de la largeur de la ligne. La ligne de droite utilise l'option square
. Cela ajoute un rectangle de longueur égale à l'épaisseur de la ligne et de largeur moitié.
var ctx = document.getElementById('canevas').getContext('2d'); var lineCap = ['butt','round','square']; // Dessiner les guides ctx.strokeStyle = '#09f'; ctx.beginPath(); ctx.moveTo(10, 10); ctx.lineTo(140, 10); ctx.moveTo(10, 140); ctx.lineTo(140, 140); ctx.stroke(); // Dessiner les lignes ctx.strokeStyle = 'black'; for (var i = 0; i < lineCap.length; i++) { ctx.lineWidth = 15; ctx.lineCap = lineCap[i]; ctx.beginPath(); ctx.moveTo(25 + i * 50, 10); ctx.lineTo(25 + i * 50, 140); ctx.stroke(); }
{{EmbedLiveSample("A_lineCap_example", "180", "180", "canvas_linecap.png")}}
Spécification | Statut | Commentaire |
---|---|---|
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-linecap", "CanvasRenderingContext2D.lineCap")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.CanvasRenderingContext2D.lineCap")}}
ctx.setLineCap()
est implémentée en plus de cette propriété.