diff options
Diffstat (limited to 'files/fr/web/api/canvasrenderingcontext2d/linecap/index.html')
-rw-r--r-- | files/fr/web/api/canvasrenderingcontext2d/linecap/index.html | 177 |
1 files changed, 177 insertions, 0 deletions
diff --git a/files/fr/web/api/canvasrenderingcontext2d/linecap/index.html b/files/fr/web/api/canvasrenderingcontext2d/linecap/index.html new file mode 100644 index 0000000000..1693fc5d50 --- /dev/null +++ b/files/fr/web/api/canvasrenderingcontext2d/linecap/index.html @@ -0,0 +1,177 @@ +--- +title: CanvasRenderingContext2D.lineCap +slug: Web/API/CanvasRenderingContext2D/lineCap +tags: + - API + - Canvas + - CanvasRenderingContext2D + - Propriété + - Reference +translation_of: Web/API/CanvasRenderingContext2D/lineCap +--- +<div>{{APIRef}}</div> + +<p>La propriété <strong>CanvasRenderingContext2D.lineCap</strong> 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 : <code>butt</code>, <code>round</code> et <code>square</code>. Par défaut, cette propriété est définie comme <code>butt</code>.</p> + +<p>Voir aussi le chapitre <a href="/fr-FR/docs/Web/API/Canvas_API/Tutorial/Applying_styles_and_colors">Ajout de styles et de couleurs</a> dans le <a href="/fr-FR/docs/Web/API/Canvas_API/Tutorial">Tutoriel canvas</a>.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox"><var><em>ctx</em>.lineCap = "butt"; +<var><em>ctx</em>.lineCap = "round"; +<var><em>ctx</em>.lineCap = "square";</var></var></var></pre> + +<h3 id="Options">Options</h3> + +<dl> + <dt><code>butt</code></dt> + <dd>Les extrémités de ligne sont coupées à angle droit.</dd> + <dt><code>round</code></dt> + <dd>Les extrémités de ligne sont arrondies.</dd> + <dt><code>square</code></dt> + <dd>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é.</dd> +</dl> + +<h2 id="Exemples">Exemples</h2> + +<h3 id="Using_the_lineCap_property" name="Using_the_lineCap_property">Utilisation de la propriété <code>lineCap</code></h3> + +<p>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.</p> + +<h4 id="HTML">HTML</h4> + +<pre class="brush: html"><canvas id="canevas"></canvas> +</pre> + +<h4 id="JavaScript">JavaScript</h4> + +<pre class="brush: js; highlight[7]">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(); +</pre> + +<p>Modifiez le code ci-dessous et voyez vos modifications mises à jour en direct dans le canvas :</p> + +<div class="hidden"> +<h6 id="Playable_code" name="Playable_code">Playable code</h6> + +<pre class="brush: html"><canvas id="canevas" width="400" height="200" class="playable-canvas"></canvas> +<div class="playable-buttons"> + <input id="modifier" type="button" value="Modifier" /> + <input id="effacer" type="button" value="Effacer" /> +</div> +<textarea id="code" class="playable-code"> +ctx.beginPath(); +ctx.moveTo(0, 0); +ctx.lineWidth = 15; +ctx.lineCap = 'round'; +ctx.lineTo(100, 100); +ctx.stroke();</textarea> +</pre> + +<pre class="brush: js">var canevas = document.getElementById('canevas'); +var ctx = canevas.getContext('2d'); +var zoneTexte = document.getElementById('code'); +var effacer = document.getElementById('effacer'); +var modifier = document.getElementById('modifier'); +var code = zoneTexte.value; + +function dessinerCanevas() { + ctx.clearRect(0, 0, canevas.width, canevas.height); + eval(zoneTexte.value); +} + +effacer.addEventListener('click', function() { + zoneTexte.value = code; + dessinerCanevas(); +}); + +modifier.addEventListener('click', function() { + zoneTexte.focus(); +}) + +zoneTexte.addEventListener('input', dessinerCanevas); +window.addEventListener('load', dessinerCanevas); +</pre> +</div> + +<p>{{ EmbedLiveSample('Playable_code', 700, 360) }}</p> + +<h3 id="A_lineCap_example" name="A_lineCap_example">Un exemple de <code>lineCap</code></h3> + +<p>Dans cet exemple, trois lignes sont dessinées, chacune avec une valeur différente pour la propriété <code>lineCap</code>. 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.</p> + +<p>La ligne à gauche utilise l'option par défaut <code>butt</code>. Elle est dessinée complètement au raz des guides. La seconde est paramétrée pour utiliser l'option <code>round</code>. 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 <code>square</code>. Cela ajoute un rectangle de longueur égale à l'épaisseur de la ligne et de largeur moitié.</p> + +<pre class="brush: js">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(); +} +</pre> + +<div class="hidden"> +<pre class="brush: html"><canvas id="canevas" width="150" height="150"></canvas></pre> +</div> + +<p>{{EmbedLiveSample("A_lineCap_example", "180", "180", "https://mdn.mozillademos.org/files/236/Canvas_linecap.png")}}</p> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Spécification</th> + <th scope="col">Statut</th> + <th scope="col">Commentaire</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-linecap", "CanvasRenderingContext2D.lineCap")}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<div class="hidden">Le tableau de compatibilité de cette page a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à consulter <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> et à nous envoyer une<em>pull request</em>.</div> + + +<p>{{Compat("api.CanvasRenderingContext2D.lineCap")}}</p> +<h2 id="Notes_spécifiques_à_WebKitBlink">Notes spécifiques à WebKit/Blink</h2> + +<ul> + <li>Dans les navigateurs basés sur WebKit et Blink, une méthode non-standard et désapprouvée <code>ctx.setLineCap()</code> est implémentée en plus de cette propriété.</li> +</ul> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>L'interface la définissant, {{domxref("CanvasRenderingContext2D")}}</li> + <li>{{domxref("CanvasRenderingContext2D.lineWidth")}}</li> + <li>{{domxref("CanvasRenderingContext2D.lineJoin")}}</li> +</ul> |