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

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

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

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