Canvas

Элемент <canvas>, добавленный в HTML5, предназначен для создания графики с помощью JavaScript. Например, его используют для рисования графиков, создания фотокомпозиций, анимаций и даже обработки и рендеринга видео в реальном времени.

«Canvas» в переводе с английского означает «холст».

Приложения от Mozilla поддерживают <canvas> начиная с Gecko 1.8 (т.е. с Firefox 1.5 (en-US)). Этот элемент первоначально был представлен Apple для OS X Dashboard и Safari. Internet Explorer поддерживает <canvas> начиная с 9 версии; для более ранних версий IE поддержку для <canvas> можно добавить с помощью скрипта из проекта Google's Explorer Canvas. Google Chrome и Opera 9 также поддерживают <canvas>.

Элемент <canvas> также используется технологией WebGL для отрисовки аппаратно-ускоренной 3D-графики на веб-страницах.

Пример

Это простой пример использования CanvasRenderingContext2D.fillRect() метода.

HTML

<canvas id="canvas"></canvas>

JavaScript

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");

ctx.fillStyle = "green";
ctx.fillRect(10, 10, 100, 100);

Отредактируйте код ниже, чтобы увидеть результат на холсте.

Справочные материалы

Интерфейсы, связанные с WebGLRenderingContext, ссылаются на WebGL.

Руководства

Canvas tutorial

Подробный учебник, охватывающий как основное использование <canvas>, так и его расширенные функции.

Фрагменты кода: Canvas

Некоторые фрагменты кода, ориентированные на разработчиков, с использованием <canvas>.

Demo: A basic ray-caster

Демо анимации трассировки-лучей используя canvas.

Drawing DOM objects into a canvas

Как рисовать DOM контент, таких как HTML-элементы, в canvas.

Manipulating video using canvas (en-US)

Объединяет <video> и <canvas> для манипулирования видео данных в реальном времени.

Ресурсы

Основное

Библиотеки

  • Fabric.js это canvas библиотека с открытым исходным кодом с возможностями SVG парсинга.
  • Kinetic.js это canvas библиотека с открытым исходным кодом ориентированная на интерактивность для настольных и мобильных приложений.
  • Paper.js это программируемый фреймворк векторной графики с открытым исходным кодом который запускается на HTML5 Canvas.
  • libCanvas это мощный и лёгкий canvas фреймворк.
  • Processing.js является портом языка обработки визуализации.
  • PlayCanvas игровой движок с открытым исходным кодом.
  • Pixi.js игровой движок с открытым исходным кодом.
  • PlotKit библиотека создание графиков и графики.
  • Rekapi API анимации для canvas.
  • PhiloGL WebGL фреймворк для визуализации данных, для креативного написания кода и разработки игр.
  • JavaScript InfoVis Toolkit создаёт интерактивные 2D Canvas визуализации данных для интернета.

Спецификации

Specification
HTML Standard
# the-canvas-element

Смотрите также