Paper.js — это векторная графическая библиотека на JavaScript, ориентированная на работу с HTML5 Canvas. Для работы с ней необходимо правильно подключить библиотеку и подготовить среду.
Самый быстрый способ начать работу — использовать Content Delivery Network (CDN). Это позволяет подключить библиотеку без загрузки файлов на сервер:
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.13.15/paper-full.min.js"></script>
Особенности использования через CDN:
paper-full.min.js содержит все функциональные
возможности библиотеки.Для проектов, где важна автономность или контроль версий, Paper.js можно скачать и подключить локально:
paper-full.js или минифицированный
paper-full.min.js.<script type="text/javascript" src="js/paper-full.min.js"></script>
Для проектов с использованием сборщиков (Webpack, Parcel, Vite) удобно устанавливать Paper.js через NPM:
npm install paper
После установки можно импортировать библиотеку в Jav * aScript:
import paper from 'paper';
Инициализация Paper.js для конкретного <canvas>
осуществляется через:
const canvas = document.getElementById('myCanvas');
paper.setup(canvas);
Paper.js работает с элементом <canvas>, который
должен быть определён в HTML. Минимальная разметка:
<canvas id="myCanvas" width="800" height="600"></canvas>
Важные моменты:
<canvas> через атрибуты
width и height обязательно. CSS размеры не
заменяют атрибуты Canvas.<canvas> был доступен на момент вызова
paper.setup().Paper.js поддерживает специальный режим, когда скрипт указывается с
типом text/paperscript. В этом случае контекст Paper.js
автоматически создается для указанного Canvas:
<canvas id="myCanvas" width="800" height="600"></canvas>
<script type="text/paperscript" canvas="myCanvas">
var circle = new Path.Circle({
center: [150, 150],
radius: 50,
fillColor: 'blue'
});
</script>
Особенности PaperScript:
paper.setup() вручную.После подключения библиотеки и Canvas можно управлять проектом:
// Инициализация
paper.setup('myCanvas');
// Очистка всех объектов
paper.project.activeLayer.removeChildren();
paper.view.draw();
paper.project.activeLayer — слой, на котором создаются
все объекты.removeChildren() удаляет все элементы на слое.paper.view.draw() обновляет Canvas.Для корректного отображения на устройствах с высокой плотностью пикселей рекомендуется масштабировать Canvas:
canvas.width = canvas.offsetWidth * window.devicePixelRatio;
canvas.height = canvas.offsetHeight * window.devicePixelRatio;
paper.view.viewSize = new paper.Size(canvas.width, canvas.height);
viewSize определяет размеры области рисования.Paper.js предоставляет объект view для управления
кадрами:
paper.view.onFr ame = function(event) {
// event.delta — время с предыдущего кадра
};
requestAnimationFrame.Правильная установка и подключение Paper.js формирует основу для работы с векторной графикой и анимацией, обеспечивая полную функциональность библиотеки.