JavaScript. Подробное руководство, 6-е издание, стр. 364
Если необходимо использовать полупрозрачные цвета, но нежелательно явно указывать значение альфа-канала для каждого цвета, или если необходимо добавить полупрозрачность к непрозрачному изображению или шаблону (например), требуемое значение непрозрачности можно присвоить свойству
<b>globalAlpha</b><b>globalAlpha</b><b>globalAlpha</b><b>globalAlpha</b>Вместо сплошного цвета (пусть и полупрозрачного), заливку и рисование контуров можно также выполнять с использованием градиентов и повторяющихся изображений. На рис. 21.10 изображен прямоугольник, контур которого нарисован толстыми линиями с использованием шаблонного изображения поверх заливки линейным градиентом и под заливкой радиальным градиентом. Ниже описывается, как было реализовано рисование шаблонным изображением и заливка градиентами.

Чтобы выполнить заливку или рисование с применением шаблонного изображения вместо цвета, следует присвоить свойству
<b>fillStyle</b><b>strokeStyle</b><b>CanvasPattern</b><b>createPattern()</b><b>var image = document.getElementById("myimage"); </b><b>c.fillStyle = c.createPattern(image, "repeat");</b>Первый аргумент метода
<b>createPattern()</b><b><img>, <canvas></b><b><video></b><b>Image</b><b>Image()</b>Обратите внимание, что в качестве шаблонного изображения для одного элемента
<b><canvas></b><b><canvas></b><b>var offscreen = document.createElement("canvas"); // Невидимый холст </b><b>offscreen.width = offscreen.height = 10; // Установить его размеры</b><b>offscreen.getContext("2d").strokeRect(0,0,6,6); // Получить контекст</b><b> // и нарисовать прямоугольник </b><b>var pattern = с.createPattern(offscreen,"repeat");// И использовать как шаблон</b>Чтобы выполнить заливку (или нарисовать контур) градиентом, следует присвоить свойству
<b>fillStyle</b><b>strokeStyle</b><b>CanvasGradient</b><b>createLinearGradient()</b><b>createRadialGradient()</b>Первый этап - создание объекта
<b>CanvasGradient</b><b>сгеateLinearGradient()</b><b>createRadialGradient()</b>После того как объект
<b>CanvasGradient</b><b>addColorStop()</b><b>CanvasGradient</b><b>// Линейный градиент, по диагонали холста (предполагается, что преобразования отсутствуют)</b><b>var bgfade = с.createLinearGradient(0,0,canvas.width,canvas.height);</b><b>bgfade.addColorStop(0.0, "#88f”); // От светло-синего вверху слева</b><b>bgfade.addColorStop(1.0, "#fff"); // До белого внизу справа</b><b>// Градиент между двумя концентрическими окружностями. Прозрачный в середине</b><b>// до полупрозрачного серого и опять до прозрачного,</b><b>var peekhole = с.createRadialGradient(300,300,100, 300,300,300);</b>