@stasov1

Как сохранить состояние canvas при ресайзе страницы?

Добрый день, возникла такая задача - в элемент canvas ставится фоновая картинка, поверх нее добавляется другая картинка и пользователь по движению мыши стирает верхнюю картинку. Это все реализовано, но ширина канваса задается из js, и при изменении размера окна, канваса тоже меняется и верхнее изображение пропадает, как можно сохранить его? При этом сохранить как бы состояние, то есть то что пользователь уже стер?

(function() {
      var canvas = document.getElementById('holst');
      var canvContext = canvas.getContext('2d');
      canvContext.fillRect(0, 0, 100, 100);
      window.addEventListener('resize', function() {
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;
      });
    })();
  • Вопрос задан
  • 668 просмотров
Пригласить эксперта
Ответы на вопрос 2
@napa3um
Canvas хранит своё состояние без усилий со стороны программиста. Ищите, где усилия программиста были направлены на то, чтобы НЕ сохранить состояние канвы.
Ответ написан
Комментировать
trushka
@trushka
Можно ресайзить canvas с помощью css, тогда его "реальные" размеры не изменятся, но он будет масштабироваться. Но тогда для дальнейшего "рисования" надо будет пересчитывать координаты..

А что за скрипт "стирания"? Ато я когда-то такой делал)) trushka.narod.ru/clear_me
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы