トップページ  > Canvas  > bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)

★Canvasリファレンス

context . bezierCurveTo(cpx1, cpy1, cpx2, cpy2, x, y) …… 3次ベジェ曲線を引く
Internet Explorer9 Firefox2Firefox3Firefox4 Google Chrome1Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6 Safari3Safari4Safari5 Opera9Opera10

bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)メソッドは、3次ベジェ曲線を引く際に使用します。 直前の座標と座標x, yを結ぶ3次ベジェ曲線のサブパスを作成します。

引数cpx1とcpy1、および、引数cpx2とcpy2は、ベジェ曲線の制御点(コントロールポイント)の座標を表します。 引数xとyは、新しく追加される点の座標を表します。 指定する座標は、いずれも<canvas>要素の左上端からの距離となります。

■ベジェ曲線とは

ベジェ曲線とは、制御点によって算出される曲線で、滑らかな自由曲線を描く際に一般的に利用されています。

制御点とは、曲線の方向と曲がる度合いを指定するための補助ポイントのことで、 最終的に作成されるベジェ曲線は、制御点に引っ張られるようにして形状が決まります。 制御点が曲線から離れるほど曲線の曲がる度合いが大きくなります。

context . quadraticCurveTo(cpx, cpy, x, y)メソッドでは1つの制御点と1つの追加座標で2次ベジェ曲線を作成します。 bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)メソッドでは2つの制御点と1つの追加座標で3次ベジェ曲線を作成します。

すでに作成されているサブパスがある場合、新規作成されるサブパスは直前のサブパスに繋がる曲線となります。 すでに作成されているサブパスは変更されず、点と曲線からなる新しいサブパスがパス(サブパスの集合したもの)に追加接続されます。

サブパスとは、パスを構成する線の一本のことです。 パスの基本的な概念については、beginPath()のページを参照してください。

■2次ベジェ曲線を描画する

新しい2次ベジェ曲線を描画する場合は以下のような流れとなります。

  1. beginPath()で現在のパスをリセットする
  2. moveTo(x, y)でパスの開始座標を指定する
  3. bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)で座標を指定して3次ベジェ曲線を引く
  4. stroke()で現在のパスを輪郭表示する

■引数(値)の説明

cpx1
一つ目の制御点(コントロールポイント)のx座標
cpy1
一つ目の制御点(コントロールポイント)のy座標
cpx2
二つ目の制御点(コントロールポイント)のx座標
cpy2
二つ目の制御点(コントロールポイント)のy座標
x
直前の座標から3次ベジェ曲線を引くx座標
y
直前の座標から3次ベジェ曲線を引くy座標

■使用例

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(50,100);
    //座標を指定してラインを引いていく
    context.bezierCurveTo(100,20,200,20,250,100);
    //現在のパスを輪郭表示する
    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タグをサポートしたブラウザが必要です。

■関連項目

<canvas> …… 図形を描くHTML5から追加
▲ページ先頭へ
トップページ  > Canvas  > bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y)
PR
MuuMuu Domain!
ドメイン取るならお名前.com
さくらのレンタルサーバ
ロリポップ!レンタルサーバー
HTMLクイックリファレンスについて
© HTMQ