山本ワールド
Canvasによる直線の描画サンプル
Canvasによる直線の描画
HTML5のCanvasを使用して図を表示する場合は、まず図を描く領域を指定します。
このサンプルでは、htmlソース中に以下のように記述しています。
次にgetElementByIdを使用してCanvasオブジェクトを取得しgetContextメソッドがセットされているかチェックします。
セットされていた場合、Canvas要素よりコンテキストを作成するために、
線の色を指定するためにstrokeStyleプロパティを設定します。
後は、moveToで始点、lineToで終点を指定すると直線が描画されます。
lineWidthプロパティで指定します。
context.setLineDash([20,10]);
配列形式で線の長さ空白の長さをセットで指定します。
lineCapプロパティを指定すると線の端部の形状を指定できます。
初期値はbuttです。
lineJoinプロパティを指定すると線の接合形状を指定できます。
初期値はmiterです。
以下に320*240の領域に座標 50,50を左上とし幅200 高さ100の青色の直線を描画する場合のソースコードを示します。
このサンプルでは、htmlソース中に以下のように記述しています。
<canvas id="t1" width="320" height="240"></canvas>
CanvasはSVGの様にインラインで記述できず、javascriptで図形を指定して描画する必要があります。htmlを読み込んだ時に自動にjavascriptが実行されるようにwindow.onload = function(){にソースを記述しています。次にgetElementByIdを使用してCanvasオブジェクトを取得しgetContextメソッドがセットされているかチェックします。
セットされていた場合、Canvas要素よりコンテキストを作成するために、
var ctx = canvas.getContext('2d');
を呼び出します。ctxにコンテキストが返されます。線の色を指定するためにstrokeStyleプロパティを設定します。
後は、moveToで始点、lineToで終点を指定すると直線が描画されます。
線の太さ
context.lineWidthlineWidthプロパティで指定します。
破線
context.setLineDash(segments);context.setLineDash([20,10]);
配列形式で線の長さ空白の長さをセットで指定します。
端部の形状
context.lineCaplineCapプロパティを指定すると線の端部の形状を指定できます。
初期値はbuttです。
線の接合箇所の形状
context.lineJoinlineJoinプロパティを指定すると線の接合形状を指定できます。
初期値はmiterです。
サンプル
以下に320*240の領域に座標 50,50を左上とし幅200 高さ100の青色の直線を描画する場合のソースコードを示します。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
</head>
<body>
<canvas id="t1" width="320" height="240">
</canvas>
<script type="text/javascript">
window.onload = function(){
var canvas = document.getElementById('t1');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
ctx.strokeStyle = 'blue';
ctx.beginPath();
ctx.moveTo(50,50);
ctx.lineTo(200,200);
ctx.stroke();
}
}
</script>
</body>
</html>
ソースファイルのダウンロード(line.zip)
Copyright (C) 2012 山本ワールド All Rights Reserved.