diff options
Diffstat (limited to 'files/ru/web/api/canvasrenderingcontext2d/closepath')
-rw-r--r-- | files/ru/web/api/canvasrenderingcontext2d/closepath/index.html | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html new file mode 100644 index 0000000000..b061088116 --- /dev/null +++ b/files/ru/web/api/canvasrenderingcontext2d/closepath/index.html @@ -0,0 +1,114 @@ +--- +title: CanvasRenderingContext2D.closePath() +slug: Web/API/CanvasRenderingContext2D/closePath +tags: + - API + - Canvas + - Method +translation_of: Web/API/CanvasRenderingContext2D/closePath +--- +<div>{{APIRef}}</div> + +<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.closePath()</code></strong> - метод из Canvas 2D API, добавляет в путь линию от текущей до первоначальной точки под пути и закрывает сам путь (давая возможность инициализировать новый). Если путь пустой или содержит одну точку, этот метод ничего не делает.</p> + +<p>Сама функция ничего не рисует. Он лишь позволяет отрисовывать путь таким методам, как {{domxref("CanvasRenderingContext2D.stroke()", "stroke()")}} и {{domxref("CanvasRenderingContext2D.fill()", "fill()")}}.</p> + +<h2 id="Синтаксис">Синтаксис</h2> + +<pre class="syntaxbox">void <em>ctx</em>.closePath(); +</pre> + +<h2 id="Примеры">Примеры</h2> + +<h3 id="Замкнутый_треугольник">Замкнутый треугольник</h3> + +<p>В этом примере создаются две первые линии сторон треугольника с испоьзованием метода <code>lineTo()</code>. После чего метод <code>closePath()</code> заканчивает рисование треугольника, автоматически соединяя первую и последнюю точки фигуры (в данном случае треугольника).</p> + +<h4 id="HTML">HTML</h4> + +<pre class="brush: html"><canvas id="canvas"></canvas> +</pre> + +<h4 id="JavaScript">JavaScript</h4> + +<p>Точки треугольника находятся в координатах (20, 150), (120, 20),и (220, 150).</p> + +<pre class="brush: js; highlight:[8]">const canvas = document.getElementById('canvas'); +const ctx = canvas.getContext('2d'); + +ctx.beginPath(); +ctx.moveTo(20, 140); // Двигает перо к нижнему левому углу +ctx.lineTo(120, 10); // Рисует линию к верхнему углу +ctx.lineTo(220, 140); // Рисует линию к нижнему правому углу +ctx.closePath(); // Рисует линию к нижнему левому углу +ctx.stroke(); +</pre> + +<h4 id="Результат">Результат</h4> + +<p>{{ EmbedLiveSample('Closing_a_triangle', 700, 180) }}</p> + +<h3 id="Закрытие_пути_один_раз">Закрытие пути один раз</h3> + +<p>Этот пример рисует смайлик, состоящий из трех не соединенных дуг (под путей).</p> + +<div class="blockIndicator note"> +<p>Хотя <code>closePath()</code> вызывается после создания всех дуг, закрывается только последняя.</p> +</div> + +<h4 id="HTML_2">HTML</h4> + +<pre class="brush: html"><canvas id="canvas"></canvas> +</pre> + +<h4 id="JavaScript_2">JavaScript</h4> + +<p>Первые две дуги создают глаза, последняя создает рот.</p> + +<pre class="brush: js; highlight:[10]">const canvas = document.getElementById('canvas'); +const ctx = canvas.getContext('2d'); + +ctx.beginPath(); +ctx.arc(240, 20, 40, 0, Math.PI); +ctx.moveTo(100, 20); +ctx.arc(60, 20, 40, 0, Math.PI); +ctx.moveTo(215, 80); +ctx.arc(150, 80, 65, 0, Math.PI); +ctx.closePath(); +ctx.lineWidth = 6; +ctx.stroke(); +</pre> + +<h4 id="Результат_2">Результат</h4> + +<p>{{ EmbedLiveSample('Closing_just_one_sub-path', 700, 180) }}</p> + +<h2 id="Спецификации">Спецификации</h2> + +<table class="standard-table"> + <tbody> + <tr> + <th scope="col">Спецификация</th> + <th scope="col">Статус</th> + <th scope="col">Комментарий</th> + </tr> + <tr> + <td>{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-closepath", "CanvasRenderingContext2D.closePath")}}</td> + <td>{{Spec2('HTML WHATWG')}}</td> + <td> </td> + </tr> + </tbody> +</table> + +<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2> + + + +<p>{{Compat("api.CanvasRenderingContext2D.closePath")}}</p> + +<h2 id="Смотрите_также">Смотрите также</h2> + +<ul> + <li>Интерфейс, определяющий этот метод: {{domxref("CanvasRenderingContext2D")}}</li> + <li>{{domxref("CanvasRenderingContext2D.beginPath()")}}</li> +</ul> |