INDEX
Paper.jsについての解説
Paper.jsは、HTML5の<canvas>要素を使用してベクターグラフィックスを簡単に描画するための強力なJavaScriptライブラリです。ベクターグラフィックス描画に加えて、アニメーションの作成やSVGデータの処理も可能です。
Paper.jsの実装方法
Paper.jsを使用するには、以下のスクリプトを<head>内に記述して、Paper.jsを読み込みます。
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/paper.js/0.12.15/paper-full.min.js"></script>
Paper.jsの特徴
| 特徴 | 説明 |
|---|---|
| ベクターグラフィックス | パス、図形、テキストなどのベクター形式で描画が可能。 |
| オブジェクト指向 | オブジェクトベースで描画を管理し、簡単に操作可能。 |
| キャンバス描画の抽象化 | <canvas>の複雑な操作を簡単に扱うための抽象化。 |
| SVGサポート | SVGファイルの解析とキャンバス描画への利用。 |
プロパティとその値の一覧表
| プロパティ名 | 説明 | 値の例 |
|---|---|---|
| strokeColor | 図形やパスの線の色を指定するプロパティ。 | ‘red’, ‘blue’, ‘green’ |
| fillColor | 図形の塗りつぶしの色を指定するプロパティ。 | ‘yellow’, ‘rgba(0, 255, 0, 0.5)’ |
| strokeWidth | 線の幅を指定するプロパティ。 | 1, 3, 5 |
| opacity | オブジェクトの透明度を設定するプロパティ。 | 0.1, 0.5, 1.0 |
円を描画する例
実行例
HTMLとJavaScriptコード
<canvas id="circle-example" resize></canvas>
<script>
// Paper.jsの初期化
paper.setup(document.getElementById('circle-example'));
// 円を描画
var circle = new paper.Path.Circle({
center: [150, 150],
radius: 100,
strokeColor: 'blue',
fillColor: 'lightblue'
});
</script>
解説
この例では、`Path.Circle`を使用してキャンバス上に円を描画しています。`strokeColor`で線の色、`fillColor`で塗りつぶしの色を指定しています。`center`で円の中心、`radius`で半径を指定します。
矩形を描画する例
実行例
HTMLとJavaScriptコード
<canvas id="rectangle-example" resize></canvas>
<script>
// Paper.jsの初期化
paper.setup(document.getElementById('rectangle-example'));
// 矩形を描画
var rectangle = new paper.Path.Rectangle({
point: [100, 100],
size: [200, 100],
strokeColor: 'green',
fillColor: 'lightgreen'
});
</script>
解説
この例では、`Path.Rectangle`を使用して緑色の矩形を描画しています。`point`で矩形の左上の位置、`size`で幅と高さを指定します。
線を描画する例
実行例
HTMLとJavaScriptコード
<canvas id="line-example" resize></canvas>
<script>
// Paper.jsの初期化
paper.setup(document.getElementById('line-example'));
// 線を描画
var line = new paper.Path({
segments: [[50, 50], [250, 250]],
strokeColor: 'black',
strokeWidth: 2
});
</script>
解説
この例では、`Path`オブジェクトを使って直線を描画しています。`segments`プロパティを使用して始点と終点を指定し、`strokeColor`で線の色を指定しています。
アニメーションを作成する例
実行例
HTMLとJavaScriptコード
<canvas id="animation-example" resize></canvas>
<script>
// Paper.jsの初期化
paper.setup(document.getElementById('animation-example'));
// 円を作成
var movingCircle = new paper.Path.Circle({
center: [50, 200],
radius: 50,
fillColor: 'blue'
});
// フレームごとの動作を定義
function onFrame(event) {
// 円を右に動かす
movingCircle.position.x += 2;
// 右端に達したら左に戻る
if (movingCircle.position.x > view.size.width + 50) {
movingCircle.position.x = -50;
}
}
</script>
解説
この例では、`onFrame`関数を使用して、円が右方向に動き続けるアニメーションを作成しています。`movingCircle.position.x`を変更することで、円のX座標が毎フレーム更新されます。画面の右端を超えた場合、再び左端に戻ります。
Paper.jsの公式サイト
https://paperjs.org/