| 目次 |
|---|
|
・グラデーションを指定する ・線形グラデーション ・円形グラデーション ・背景パターンを指定する |
<canvas>要素では、グラデーションオブジェクトを作ることで、図形にグラデーションを指定することが出来ます。
グラデーションの種類は、後述の「線形グラデーション」と「円形グラデーション」の2種です。
グラデーションは、「fillStyle」や「strokeStyle」にて利用することが出来ます。
色の指定、追加には、「addColorStop」メソッドを使います。
※使い方は、「線形グラデーション」と「円形グラデーション」の例を参考にしてください。
線形グラデーションとは、直線方向にグラデーションをかけるものです。
よくドーム状のボタンイメージに使われるグラデーションです。
リスト1. 線形グラデーション
/* 線形グラデーション */ var gradient = context.createLinearGradient(100,50,400,100); 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; //グラデーションを適用
コーディング例
円形グラデーションとは、同心円状にグラデーションをかけるものです。
よく光源イメージに使われるグラデーションです。
リスト2. 円形グラデーション
/* 円形グラデーション */ var gradient = context.createRadialGradient(250,50,10,250,100,100); 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; //グラデーションを適用
コーディング例
グラデーションではありませんが、似たような使用方法として背景パターンを指定することが出来ます。
背景パターンには、<canvas>要素、<img>要素、<video>要素を背景ソースとして用います。
リスト3. 背景パターン
//パターンイメージ
var img = new Image(); //img要素を内部的に作る
img.src = '0007-bg01.jpg'; //img要素のsrcを代入
//画像を読み込んだとき、パターンを適用した図形を表示
img.onload = function(){
var pattern = context.createPattern(img, 'repeat');
context.fillStyle = pattern; //パターンを適用
/* 四角 */
context.fillRect(100,50,300,100); //四角を描く。
}
コーディング例