context . closePath(x, y) …… 最終座標と開始座標を結んでパスを閉じる
広告
closePath()メソッドは、最終座標と開始座標を結んでパスを閉じる際に使用します。
最終座標と開始座標は直線で結ばれ、その結果として、点の数や配置によっては何らかの閉じた図形が完成することになります。
コンテキストにサブパスが存在しない場合には、closePath()を指定しても何も実行されません。
サブパスとは、パスを構成する線の一本のことです。
パスの基本的な概念については、beginPath()のページを参照してください。
■直線を描画する
新しい直線を描画する場合は以下のような流れとなります。
- beginPath()で現在のパスをリセットする
- moveTo(x, y)でパスの開始座標を指定する
- lineTo(x, y)で座標を指定してラインを引く
- stroke()で現在のパスを輪郭表示する
■三角形を描画する
新しい三角形を描画する場合は以下のような流れとなります。
- beginPath()で現在のパスをリセットする
- moveTo(x, y)でパスの開始座標を指定する
- lineTo(x, y)で座標を指定してラインを引く(一本目の線)
- lineTo(x, y)で座標を指定してラインを引く(二本目の線)
- closePath()でパスを閉じる(三本目の線を引いて図形を閉じる)
- stroke()で現在のパスを輪郭表示する
■使用例
HTML + JavaScriptソース
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>canvasで図形を描く</title>
<script type="text/javascript">
<!--
function test() {
//描画コンテキストの取得
var canvas = document.getElementById('sample');
if (canvas.getContext) {
var context = canvas.getContext('2d');
//ここに具体的な描画内容を指定する
//新しいパスを開始する
context.beginPath();
//パスの開始座標を指定する
context.moveTo(100,20);
//座標を指定してラインを引いていく
context.lineTo(150,100);
context.lineTo(50,100);
//パスを閉じる(最後の座標から開始座標に向けてラインを引く)
context.closePath();
//現在のパスを輪郭表示する
context.stroke();
}
}
//-->
</script>
</head>
<body onLoad="test()">
<h2>Canvasで図形を描く</h2>
<canvas width="300" height="150" id="sample" style="background-color:yellow;">
図形を表示するには、canvasタグをサポートしたブラウザが必要です。
</canvas>
</body>
</html>
↓↓↓
ブラウザ上の表示
Canvasで図形を描く
■関連項目
<canvas> …… 図形を描く
広告