トップページ  > Canvas  > createRadialGradient(x0, y0, r0, x1, y1, r1)

★Canvasリファレンス

context . createRadialGradient(x0, y0, r0, x1, y1, r1) …… 円形グラデーションを指定する
Internet Explorer9 Firefox2Firefox3Firefox4 Google Chrome1Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6 Safari3Safari4Safari5 Opera9Opera10

createRadialGradient(x0, y0, r0, x1, y1, r1)メソッドは、円形グラデーションを指定する際に使用します。

createRadialGradient()メソッドには、6つの引数を指定します。 前半の3つは、中心の座標(x0, y0)半径r0の円形グラデーションの開始円を表します。 後半の3つは、中心の座標(x1, y1)半径r1の円形グラデーションの終了円を表します。 6つの引数を指定することで、この2つの円を結ぶ放射状の円形グラデーションを定義することになります。 値は、座標空間の単位で指定します。

開始円と終了円が同じ位置・同じ大きさの場合には、円形グラデーションは描画されません。 また、引数のいずれかに無限大や数値以外の値を指定するとエラー(NOT_SUPPORTED_ERR)、 半径に負の値を指定するとエラー(INDEX_SIZE_ERR)となります。

グラデーションが描画される際には、その時点で指定されている変形の影響を受けます。

■円形グラデーションを指定する

円形グラデーションで塗りつぶした円を描画する場合は以下のような流れとなります。

  1. beginPath()で、現在のパスをリセットする
  2. createRadialGradient(x0, y0, r0, x1, y1, r1)で、円形グラデーションを指定する
  3. addColorStop(offset, color)で、グラデーション色を必要なだけ追加する
  4. fillStyle()メソッドで、上で指定したグラデーション内容を塗りつぶしスタイルに代入する
  5. arc(x, y, radius, startAngle, endAngle [, anticlockwise ] )メソッドで、円を作成する
  6. fill()メソッドで、現在のパスを塗りつぶす

■引数(値)の説明

x0
円形グラデーション開始円の中心のx座標
y0
円形グラデーション開始円の中心のy座標
r0
円形グラデーション開始円の半径
x1
円形グラデーション終了円の中心のx座標
y1
円形グラデーション終了円の中心のy座標
r1
円形グラデーション終了円の半径

■使用例

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();
    //円形グラデーションを指定する:開始円=中心の座標(140,80)半径20、終了円=中心の座標(140,80)半径80
    var gradient = context.createRadialGradient(140,80,20,140,80,80);
    //赤→緑→青となるように、グラデーション色を3つ追加する
    gradient.addColorStop(0.0 , 'rgb(255,0,0)');
    gradient.addColorStop(0.5 , 'rgb(0,255,0)');
    gradient.addColorStop(1.0 , 'rgb(0,0,255)');
    //上で指定したグラデーション内容を塗りつぶしスタイルに代入する
    context.fillStyle = gradient;
    //(140,80)を中心点とする、半径50の円弧を、開始角度90度、終了角度180度で、半時計回りに作成する
    context.arc(140,80,100,45/180*Math.PI,135/180*Math.PI,true);
    //現在のパスを塗りつぶす
    context.fill();
  }
}
//-->
</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  > createRadialGradient(x0, y0, r0, x1, y1, r1)
PR
MuuMuu Domain!
ドメイン取るならお名前.com
さくらのレンタルサーバ
ロリポップ!レンタルサーバー
HTMLクイックリファレンスについて
© HTMQ