Задать вопрос

Организация history back, forward при манипуляции изображений на canvas (fabric.js)?

Имеется реализация на js, выполняющая rotate, crop изображений. Возникла неообходимость добавить действия history back, forward над изображением.
Первое, что пришло в голову, реализовать это действие через буфер где сохряняются изображение с канвы над которым выполняется какая либо операция (rotate, crop), и после по событиям (back или forward) из буфера вытаскивается изображение и распологается на канве. Реализация подсмотрена у darkroom.js а именно у плагина darkroom.history.js
Но при такой реализации возникает некотролируемая утечка памяти. Так как буфер это массив изображений. А изображения могут быть очень больших размеров. То каждое действие (rotate, crop) это одно новое изображение в буфере. И при определенном моменте браузер будет начинать "тормозить".
Вопрос.
Имеется ли более "изяшное" решение history back, forward над большими изображениями в canvas ?
  • Вопрос задан
  • 295 просмотров
Подписаться 7 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    Разработчик игр на Unity: тариф PRO
    6 месяцев
    Далее
  • Яндекс Практикум
    Мидл фронтенд-разработчик и модуль по React
    9 месяцев
    Далее
  • Skillbox
    Разработчик игр на Unity с нуля
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

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