Организация 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 ?
  • Вопрос задан
  • 285 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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