--- title: CanvasRenderingContext2D.save() slug: Web/API/CanvasRenderingContext2D/save translation_of: Web/API/CanvasRenderingContext2D/save ---
{{APIRef}}

CanvasRenderingContext2D.save() - метод Canvas 2D API. Сохраняет все состояния и добавляет текущее состояние в стек.

Состояние чертежа

Состояние чертежа, которое сохраняется в стеке, состоит из:

Синтаксис

void ctx.save();

Пример

Сохранение состояния чертежа

Этот пример использует метод save() для сохранения состояния по умолчанию, и метод restore() для восстановления состояния позже, чтобы позже можно было нарисовать прямоугольник с состоянием по умолчанию.

HTML

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

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');

// Сохранение состояния по умолчанию
ctx.save();

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

// Восстановление состояния по умолчанию
ctx.restore();

ctx.fillRect(150, 40, 100, 100);

Результат

{{ EmbedLiveSample('Saving_the_drawing_state', 700, 180) }}

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

Спецификация Статус Комментарии
{{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-save", "CanvasRenderingContext2D.save")}} {{Spec2('HTML WHATWG')}}

Совместимость с браузерами

{{Compat("api.CanvasRenderingContext2D.save")}}

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