aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html')
-rw-r--r--files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html139
1 files changed, 139 insertions, 0 deletions
diff --git a/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
new file mode 100644
index 0000000000..17b037d4f0
--- /dev/null
+++ b/files/ru/web/api/canvasrenderingcontext2d/ellipse/index.html
@@ -0,0 +1,139 @@
+---
+title: CanvasRenderingContext2D.ellipse()
+slug: Web/API/CanvasRenderingContext2D/ellipse
+tags:
+ - API
+ - Canvas
+ - CanvasRenderingContext2D
+ - Справка
+ - метод
+translation_of: Web/API/CanvasRenderingContext2D/ellipse
+---
+<div>{{APIRef}}</div>
+
+<p><code><strong>CanvasRenderingContext2D</strong></code><strong><code>.ellipse()</code></strong> - метод Canvas 2D API, который добавляет эллиптическую дугу к текущему подпространству.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate">void <em>ctx</em>.ellipse(<em>x</em>, <em>y</em>, <em>radiusX</em>, <em>radiusY</em>, <em>rotation</em>, <em>startAngle</em>, <em>endAngle</em> [, <em>anticlockwise</em>]);
+</pre>
+
+<p><code>ellipse()</code> - метод, который создает эллиптическую дугу с центром в точках <code>(x, y)</code> с радиусом <code>radiusX</code> и <code>radiusY</code>. Путь начинается от точки <code>startAngle</code> и заканчивается в точке <code>endAngle</code>, идет по направлению, казанному в параметре (по часовай срелке или против нее) <code>anticlockwise</code> .</p>
+
+<h3 id="Параметры">Параметры</h3>
+
+<dl>
+ <dt><code>x</code></dt>
+ <dd>Координата центра эллипса по оси x (горизонтальная).</dd>
+ <dt><code>y</code></dt>
+ <dd>Координата центра эллипса по оси y (вертикальная).</dd>
+ <dt><code>radiusX</code></dt>
+ <dd>Радиус оси x эллипса. Должен быть неотрицательным.</dd>
+ <dt><code>radiusY</code></dt>
+ <dd>Радиус оси y эллипса. Должен быть неотрицательным.</dd>
+ <dt><code>rotation</code></dt>
+ <dd>Вращение эллипса, выраженное в радианах.</dd>
+ <dt><code>startAngle</code></dt>
+ <dd>Угол, под которым начинается эллипс, измеряется по часовой стрелке от положительной оси x и выражается в радианах.</dd>
+ <dt><code>endAngle</code></dt>
+ <dd>Угол, под которым эллипс заканчивается, измеряется по часовой стрелке от положительной оси x и выражается в радианах.</dd>
+ <dt><code>anticlockwise</code> {{optional_inline}}</dt>
+ <dd>Опция {{jsxref("Boolean")}}, которая при <code>true</code>, рисует эллипс против часовой стрелки (counter-clockwise). Значение по умолчанию равно <code>false</code>  - рисование по часовой стрелке (clockwise).</dd>
+</dl>
+
+<h2 id="Примеры">Примеры</h2>
+
+<h3 id="Рисование_полного_эллипса">Рисование полного эллипса</h3>
+
+<p>Этот пример рисует эллипс под углом π / 4 Радианы (45°). Чтобы сделать полный эллипс, дуга начинается под углом 0 радианов (0°) и заканчивается под углом 2π радианов (360°).</p>
+
+<h4 id="HTML">HTML</h4>
+
+<pre class="brush: html notranslate">&lt;canvas id="canvas" width="200" height="200"&gt;&lt;/canvas&gt;
+</pre>
+
+<h4 id="JavaScript">JavaScript</h4>
+
+<pre class="brush: js; highlight:[6] notranslate">const canvas = document.getElementById('canvas');
+const ctx = canvas.getContext('2d');
+
+// Рисование эллипса
+ctx.beginPath();
+ctx.ellipse(100, 100, 50, 75, Math.PI / 4, 0, 2 * Math.PI);
+ctx.stroke();
+
+// Рисование линии отражения эллипса
+ctx.beginPath();
+ctx.setLineDash([5, 5]);
+ctx.moveTo(0, 200);
+ctx.lineTo(200, 0);
+ctx.stroke();
+</pre>
+
+<h4 id="Результат">Результат</h4>
+
+<p>{{ EmbedLiveSample('Drawing_a_full_ellipse', 700, 250) }}</p>
+
+<h3 id="Различные_эллиптические_дуги">Различные эллиптические дуги</h3>
+
+<p>В этом примере создаются три эллиптических контура с различными свойствами.</p>
+
+<h4 id="HTML_2">HTML</h4>
+
+<pre class="brush: html notranslate">&lt;canvas id="canvas"&gt;&lt;/canvas&gt;
+</pre>
+
+<h4 id="JavaScript_2">JavaScript</h4>
+
+<pre class="brush: js; highlight:[6,11,16] notranslate">const canvas = document.getElementById('canvas');
+const ctx = canvas.getContext('2d');
+
+ctx.fillStyle = 'red';
+ctx.beginPath();
+ctx.ellipse(60, 75, 50, 30, Math.PI * .25, 0, Math.PI * 1.5);
+ctx.fill();
+
+ctx.fillStyle = 'blue';
+ctx.beginPath();
+ctx.ellipse(150, 75, 50, 30, Math.PI * .25, 0, Math.PI);
+ctx.fill();
+
+ctx.fillStyle = 'green';
+ctx.beginPath();
+ctx.ellipse(240, 75, 50, 30, Math.PI * .25, 0, Math.PI, true);
+ctx.fill();
+</pre>
+
+<h4 id="Результат_2">Результат</h4>
+
+<p>{{ EmbedLiveSample('Various_elliptical_arcs', 700, 180) }}</p>
+
+<h2 id="Спецификации">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-ellipse", "CanvasRenderingContext2D.ellipse")}}</td>
+ <td>{{Spec2('HTML WHATWG')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Совместимость_браузера">Совместимость браузера</h2>
+
+
+
+<p>{{Compat("api.CanvasRenderingContext2D.ellipse")}}</p>
+
+<h2 id="Изучите_также">Изучите также</h2>
+
+<ul>
+ <li>Интерфейс, определяющий этот метод:{{domxref("CanvasRenderingContext2D")}}</li>
+ <li>Используйте {{domxref("CanvasRenderingContext2D.arc()")}}, чтобы нарисовать дугу окружности</li>
+</ul>