トップページ  > Canvas  > addColorStop(offset, color)

★Canvasリファレンス

gradient . addColorStop(offset, color) …… グラデーション色を追加する
Internet Explorer9 Firefox2Firefox3Firefox4 Google Chrome1Google Chrome2Google Chrome3Google Chrome4Google Chrome5Google Chrome6 Safari3Safari4Safari5 Opera9Opera10
広告

addColorStop(offset, color)メソッドは、グラデーション色を追加する際に使用します。

引数offsetには、グラデーション色のオフセット値を指定します。 オフセット値とは、グラデーションの開始位置からどのくらいの離れているかを表した値のことです。 addColorStop()メソッドでは、グラデーションの開始位置は0.0、終了位置は1.0となります。 指定できるのは0.0~1.0の範囲の数値です。 オフセット値に範囲外の数値や数値以外の値を指定するとエラー(INDEX_SIZE_ERR)となります。

引数colorには、色を指定します。色の値はCSSによる色指定と同じです。 色として解析できない無効な値を指定するとエラー(SYNTAX_ERR)となります。

オフセット値と色を半角カンマ( , )区切りのセットで指定することで、 グラデーションのどの辺りがどんな色になるのかを指定することができます。 グラデーション色を3色以上指定すれば、例えば、赤から緑を経由して青に変わるなどのグラデーションも可能です。

グラデーションには、線形グラデーションと円形グラデーションを指定することができます。 線形グラデーションを指定する場合にはcreateLinearGradient()メソッドを、 円形グラデーションを指定する場合にはcreateRadialGradient()メソッドを使用します。

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

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

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

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

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

  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()メソッドで、現在のパスを塗りつぶす

■引数(値)の説明

offset
グラデーションのオフセット値(グラデーションの開始位置からどのくらいの離れているか)を0.0~1.0の範囲の数値で指定
color
グラデーションの色をCSSと同様の色指定で指定

■使用例

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();
    //線形グラデーションを指定する
    var gradient = context.createLinearGradient(20,0,70,0);
    //赤→緑→青となるように、グラデーション色を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;
    //左から20上から20の位置に幅50高さ50の輪郭の四角形を作成する
    context.rect(20,20,50,50);
    //現在のパスを塗りつぶす
    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から追加
広告
Sponsors
広告
MuuMuu Domain!
ドメイン取るならお名前.com
現役エンジニアのオンライン家庭教師【CodeCamp】
サイトに広告を掲載してお小遣いが稼げる!【A8.net】
Node.jsコース
はじめてのプログラミングコース
▲ページ先頭へ
HTMLクイックリファレンスについて
© HTMQ