context . createLinearGradient(x0, y0, x1, y1) …… 線形グラデーションを指定する
広告
createLinearGradient(x0, y0, x1, y1)メソッドは、線形グラデーションを指定する際に使用します。
createLinearGradient()メソッドには、4つの引数で2つの座標を指定します。
(x0, y0)はグラデーションの開始点、(x1, y1)はグラデーションの終了点を表します。
4つの引数を指定することで、この2点間を結ぶ直線に沿った線形グラデーションを定義することになります。
開始点(x0, y0)と終了点(x1, y1)が同じ座標の場合には、線形グラデーションは描画されません。
また、引数のいずれかに無限大や数値以外の値を指定するとエラー(NOT_SUPPORTED_ERR)となります。
グラデーションが描画される際には、その時点で指定されている変形の影響を受けます。
■線形グラデーションを指定する
線形グラデーションで塗りつぶした四角形を描画する場合は以下のような流れとなります。
- beginPath()で、現在のパスをリセットする
- createLinearGradient(x0, y0, x1, y1)で、線形グラデーションを指定する
- addColorStop(offset, color)で、グラデーション色を必要なだけ追加する
- fillStyle()メソッドで、上で指定したグラデーション内容を塗りつぶしスタイルに代入する
- rect(x, y, w, h)メソッドで、四角形を作成する
- fill()メソッドで、現在のパスを塗りつぶす
■引数(値)の説明
- x0
- グラデーション開始点のx座標
- y0
- グラデーション開始点のy座標
- x1
- グラデーション終了点のx座標
- y1
- グラデーション終了点の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();
//線形グラデーションを指定する
var gradient = context.createLinearGradient(20,20,70,70);
//赤→緑→青となるように、グラデーション色を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> …… 図形を描く
広告