Библиотека Paper.js предоставляет мощный инструмент для работы с
векторной графикой на HTML5 Canvas. Центральным элементом является
объект paper, который инкапсулирует все возможности
библиотеки и управляет глобальной областью видимости.
paperОбъект paper представляет собой пространство имен, через
которое осуществляется доступ ко всем классам, методам и константам
библиотеки. Он содержит такие ключевые свойства и методы:
project – текущий проект Paper.js,
который управляет всеми элементами на холсте. Проект содержит слои
(layers), элементы (items) и параметры
рендеринга.projects – массив всех созданных
проектов. Позволяет работать с несколькими холстами одновременно.view – объект, представляющий текущее
представление холста. Через него управляются размеры, масштаб, и события
обновления.Path, Point, Layer,
Group, Tool – классы для создания
объектов, геометрических точек, слоев, групп и инструментов
взаимодействия.Прямой доступ к этим классам через paper выглядит
так:
let circle = new paper.Path.Circle({
center: [100, 100],
radius: 50,
strokeColor: 'black',
fillColor: 'red'
});
Здесь создаётся круг с помощью конструктора
paper.Path.Circle.
Paper.js может работать в двух режимах: с использованием глобального
объекта paper и с активацией глобальной области видимости
(paper.setup(canvas) с последующим
paper.install(window)).
Глобальный режим позволяет обращаться к классам и
методам Paper.js без префикса paper.. Это достигается
вызовом:
paper.install(window);
paper.setup(document.getElementById('myCanvas'));
После установки глобальной области видимости доступно следующее:
let circle = new Path.Circle({
center: [150, 150],
radius: 75,
strokeColor: 'blue',
fillColor: 'green'
});
В этом случае Path, Point,
Tool и другие классы становятся доступными как глобальные
переменные. Такой режим удобен для небольших проектов, однако в больших
приложениях предпочтительно использовать объект paper
напрямую, чтобы избежать конфликтов имен.
project и
viewproject управляет структурой элементов
на холсте:
project.activeLayer – текущий активный
слой, на который добавляются новые объекты.project.layers – массив слоев проекта.
Позволяет переключать видимость, порядок и свойства слоев.project.selectedItems – массив
выделенных элементов на холсте.Пример добавления объекта в активный слой:
let rectangle = new paper.Path.Rectangle({
point: [50, 50],
size: [100, 80],
strokeColor: 'black'
});
project.activeLayer.addChild(rectangle);
view управляет визуализацией и
взаимодействием с Canvas:
view.size – размеры холста.view.center – центр текущего
вида.view.zoom – масштаб отображения.view.onFrame – обработчик анимации,
вызывается при каждом обновлении кадра.Пример анимации с использованием view.onFrame:
circle.onFr ame = function(event) {
this.rotate(1); // Вращение объекта на 1 градус каждый кадр
};
Использование глобальной области требует аккуратного управления:
paper и обращаться к нему явно (paper.Path,
paper.Point), что обеспечивает модульность и изоляцию
кода.paper – основной объект библиотеки,
инкапсулирующий все функции.project управляет слоями и элементами
на холсте.view отвечает за отображение, размеры,
масштаб и события кадра.paper напрямую повышает
модульность и удобство работы в сложных проектах.Функции объекта paper и правильное понимание глобальной
области видимости являются фундаментом эффективного использования
Paper.js, обеспечивая контроль над проектами, слоями и объектами в
приложении.