Если я правильно понимаю ваш вопрос, самый простой подход - просто создать очень большой объект canvas (больше, чем ваше окно) и поместить его в родительский контейнер.Установите размеры родительского контейнера, равные размеру вашего желаемого окна, а затем объявите overflow: hidden;
для контейнера.
После того, как это настроено, вы, вероятно, можете использовать что-то вроде draggable
в jQuery для обработки событий мыши.Если это не сработает, ключевая идея заключается в том, что вам нужно изменить атрибут canvas position
или настроить margins
для имитации панорамирования вокруг холста в окне.
Этот подход, конечно,предназначен для конечных размеров холста.Если вы хотите предложить бесконечную рабочую область, вам, вероятно, лучше изменить свойство context.translate
вашего холста.Однако я думаю, что это не будет хорошо работать с fabric.js.