MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

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.

Syntaxe

ctx.lineCap = "butt";
ctx.lineCap = "round";
ctx.lineCap = "square";

Options

butt
Les extrémités de ligne sont coupées à angle droit.
round
Les extrémités de ligne sont arrondies.
square
Les extrémités de ligne sont coupées à angle droit en ajoutant un rectangle d'une longueur égale à celle de l'épaisseur de la ligne et de largeur moitié.

Exemples

Utilisation de la propriété 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.

HTML

<canvas id="canevas"></canvas>

JavaScript

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 :

Un exemple de 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();
}

ScreenshotLive sample

Spécifications

Spécification Statut Commentaire
WHATWG HTML Living Standard
La définition de 'CanvasRenderingContext2D.lineCap' dans cette spécification.
Standard évolutif  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Support de base (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
Fonctionnalité Android Chrome pour Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Support de base (Oui) (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)
  • Dans les navigateurs basés sur WebKit et Blink, une méthode non-standard et désapprouvée ctx.setLineCap() est implémentée en plus de cette propriété.

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : NemoNobobyPersonne
 Dernière mise à jour par : NemoNobobyPersonne,