aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/api/canvasrenderingcontext2d/createlineargradient/index.html
blob: 1a6a91d2857a408237181bd499fdb2d69d361272 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
title: CanvasRenderingContext2D.createLinearGradient()
slug: Web/API/CanvasRenderingContext2D/createLinearGradient
tags:
  - API
  - Градиент
  - Холст
  - метод
translation_of: Web/API/CanvasRenderingContext2D/createLinearGradient
---
<div>{{APIRef}}</div>

<p>Метод <code><strong>CanvasRenderingContext2D</strong></code><strong><code>.createLinearGradient()</code></strong>, предоставляемый Canvas 2D API, создаёт градиент вдоль линии, соединённой двумя точками с заданными координатами.</p>

<p><img alt="" src="https://mdn.mozillademos.org/files/14681/mdn-canvas-linearGradient.png" style="height: 121px; width: 264px;"></p>

<p>Этот метод возвращает линейный {{domxref("CanvasGradient")}}. Для того, чтобы быть добавленным к фигуре, градиент должен быть задан свойством {{domxref("CanvasRenderingContext2D.fillStyle", "fillStyle")}} или {{domxref("CanvasRenderingContext2D.strokeStyle", "strokeStyle")}}.</p>

<div class="note">
<p><strong>Примечание:</strong> Координаты градиента глобальны, т.е. относятся к текущему пространству координат. При добавлении градиента, его координаты определяются НЕ относительно координат фигур.</p>
</div>

<h2 id="Синтаксис">Синтаксис</h2>

<pre class="syntaxbox">CanvasGradient <var>ctx</var>.createLinearGradient(<var>x0</var>, <var>y0</var>, <var>x1</var>, <var>y1</var>);
</pre>

<p>Метод <code>createLinearGradient()</code> принимает четыре аргумента для определения начала и конца точек линии градиента.</p>

<h3 id="Параметры">Параметры</h3>

<dl>
 <dt><code>x0</code></dt>
 <dd>Координата по оси X начальной точки.</dd>
 <dt><code>y0</code></dt>
 <dd>Координата по оси Y начальной точки.</dd>
 <dt><code>x1</code></dt>
 <dd>Координата по оси X конечной точки.</dd>
 <dt><code>y1</code></dt>
 <dd>Координата по оси Y конечной точки.</dd>
</dl>

<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>

<dl>
 <dt>{{domxref("CanvasGradient")}}</dt>
 <dd>Линейный <code>CanvasGradient</code>, определённый линией.</dd>
</dl>

<h2 id="Примеры">Примеры</h2>

<h3 id="Заполнение_прямоугольника_с_линейным_градиентом">Заполнение прямоугольника с линейным градиентом</h3>

<p>В примере создаётся и добавляется линейный градиент, используя метод <code>createLinearGradient()</code>. Градиент имеет три точки остановки цвета между созданными начальной и конечной точками линии.</p>

<h4 id="HTML">HTML</h4>

<pre class="brush: html">&lt;canvas id="canvas"&gt;&lt;/canvas&gt;
</pre>

<h4 id="JavaScript">JavaScript</h4>

<pre class="brush: js; highlight:[7]">var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');

// Создание линейного градиента
// Точка начала линии градиента: x=20, y=0
// Точка конца линии градиента: x=220, y=0
var gradient = ctx.createLinearGradient(20,0, 220,0);

// Добавление трёх контрольных точек
gradient.addColorStop(0, 'green');
gradient.addColorStop(.5, 'cyan');
gradient.addColorStop(1, 'green');

// Установка стиля заливки и отрисовка прямоугольника градиента
ctx.fillStyle = gradient;
ctx.fillRect(20, 20, 200, 100);
</pre>

<h4 id="Результат">Результат</h4>

<p>{{ EmbedLiveSample('Заполнение_прямоугольника_с_линейным_градиентом', 700, 180) }}</p>

<h2 id="Спецификации">Спецификации</h2>

{{Specifications}}

<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>



<p>{{Compat("api.CanvasRenderingContext2D.createLinearGradient")}}</p>

<h3 id="Специфично_для_Gecko">Специфично для Gecko</h3>

<ul>
 <li>Начиная с Gecko 2.0 {{geckoRelease("2.0")}}, указание не конечных значений выбрасывает <code>NOT_SUPPORTED_ERR</code> вместо <code>SYNTAX_ERR</code>.</li>
</ul>

<h2 id="Смотрите_также">Смотрите также</h2>

<ul>
 <li>Интерфейс, предоставляющий данный метод: {{domxref("CanvasRenderingContext2D")}}</li>
 <li>{{domxref("CanvasRenderingContext2D.createRadialGradient()")}}</li>
</ul>