context = canvas.getContext(contextId [, options ])
Возвращает объект, предоставляющий API для рисования на холсте. contextId указывает желаемый API: «2d», «bitmaprenderer», «webgl», «webgl2» или «webgpu». options обрабатываются этим API.
Эта спецификация определяет контексты «2d» и «bitmaprenderer» ниже. Спецификации WebGL определяют контексты «webgl» и «webgl2». WebGPU определяет контекст «webgpu». [WEBGL] [WEBGPU]
Возвращает null, если contextId не поддерживается или холст уже был инициализирован другим типом контекста (например, при попытке получить контекст «2d» после получения контекста «webgl»).
Метод getContext(contextId, options) элемента canvas при вызове должен выполнять следующие шаги:
1. Если options не является объектом, установите для options значение null. 2. Задайте options в результат преобразования options в значение JavaScript. 3. Выполните шаги в ячейке следующей таблицы, заголовок столбца которой соответствует контекстному режиму холста этого элемента холста canvas, а заголовок строки - contextId:
none | 2d | bitmaprenderer | webgl or webgl2 | webgpu | placeholder | |
---|---|---|---|---|---|---|
«2d « |
Следуйте алгоритму создания 2D-контекста, определенному в разделе ниже, передав ему этот элемент холста canvas и параметры options, чтобы получить объект CanvasRenderingContext2D; если это не вызывает исключения, установите для этого элемента холста canvas контекстный режим 2d и верните объект CanvasRenderingContext2D. | Вернуть тот же объект, который был возвращен при последнем вызове метода с тем же первым аргументом. | Вернуть null. | Вернуть null. | Вернуть null. | Выбросить исключение «InvalidStateError « DOMException . |
«bitmaprenderer « |
Следуйте алгоритму создания ImageBitmapRenderingContext, определенному в разделе ниже, передав ему этот элемент холста canvas и параметры options, чтобы получить объект ImageBitmapRenderingContext; затем установите контекстный режим этого элемента холста canvas на bitmaprenderer и верните объект ImageBitmapRenderingContext. | Вернуть null. | Вернуть тот же объект, который был возвращен при последнем вызове метода с тем же первым аргументом. | Вернуть null. | Вернуть null. | Выбросить исключение «InvalidStateError « DOMException . |
«webgl » или «webgl2 «, если пользовательский агент поддерживает функцию WebGL в его текущей конфигурации |
Следуйте инструкциям, приведенным в разделах «Создание контекста» спецификаций WebGL, чтобы получить WebGLRenderingContext, WebGL2RenderingContext или null; если возвращаемое значение null, то верните null; в противном случае установите для этого элемента холста canvas контекстный режим webgl или webgl2 и верните объект WebGLRenderingContext или WebGL2RenderingContext. [WEBGL] | Вернуть null. | Вернуть null. | Вернуть тот же объект, который был возвращен при последнем вызове метода с тем же первым аргументом. | Вернуть null. | Выбросить исключение «InvalidStateError « DOMException . |
«webgpu «, если пользовательский агент поддерживает функцию WebGPU в своей текущей конфигурации |
Следуйте инструкциям, приведенным в разделе WebGPU Canvas Rendering, чтобы получить GPUCanvasContext или null; если возвращаемое значение null, то верните null; в противном случае установите контекстный режим этого элемента холста canvas на webgpu и верните объект GPUCanvasContext. [WEBGPU] | Вернуть null. | Вернуть null. | Вернуть null. | Вернуть тот же объект, который был возвращен при последнем вызове метода с тем же первым аргументом. | Выбросить исключение «InvalidStateError « DOMException . |
Неподдерживаемое значение * | Вернуть null. | Вернуть null. | Вернуть null. | Вернуть null. | Вернуть null. | Выбросить исключение «InvalidStateError « DOMException . |
* Например, значение «webgl» или «webgl2» в случае, если пользовательский агент исчерпал возможности графического оборудования и не имеет программной резервной реализации.
Информационные ссылки
Стандарт HTML — Раздел «The getContext(contextId, options) method» — https://html.spec.whatwg.org/multipage/canvas.html#dom-canvas-getcontext