CanvasRenderingContext2D.fillStyle - 塗りつぶしのスタイル(色)を指定する

投稿日: / 更新日:

JavaScriptの、CanvasRenderingContext2DオブジェクトのfillStyleは、塗りつぶしのスタイル(色)を取得、変更するためのプロパティです。スタイルを設定した後は、別途、fill()メソッドを使って実際に塗りつぶさないと意味がありません。値には、CSSで許可された指定方法で色、グラデーションのCanvasGradientオブジェクト、またはCanvasPatternオブジェクトの3種類の中からどれかを指定できます。

サンプルコード

<canvas id="target"></canvas>
// キャンパス要素を取得
var canvas = document.getElementById( "target" ) ;

// 二次元グラフィックスのコンテキスト(CanvasRenderingContext2D)を取得
var context = canvas.getContext( "2d" ) ;

// 塗りつぶしのスタイル(色)を指定する
context.fillStyle = "#d36015" ;

// 塗りつぶしのスタイル(色)を取得する
var fillStyle = context.fillStyle ;

// 設定した内容で塗りつぶしを実行する (応用)
context.rect( 0,0, 200,200 ) ;	// 範囲を決めて
context.fill() ;	// 実行

デモ

ボタンを押すと、fillStyleプロパティに値を設定したり、現在の設定を取得したりできます。プロパティの操作だけでは、描画は実行されません。別途、範囲を決めてfill()メソッドなどを実行する必要があります。このデモではおまけとして「描画」を実行すると、設定した色で描画を実行するようになっています。

構文

CanvasRenderingContext2D.fillStyle = color || CanvasGradient || CanvasPattern ;
fillStyle = CanvasRenderingContext2D.fillStyle ;

引数

項目説明
colorCSSで許可されている方法で色を指定する。#D36015brownrgb(211,96,21)rgba(211,96,21,0.1)hsl(24,82%,45%)transparentなど。
CanvasGradientCanvasGradientオブジェクトを指定する。グラデーションで塗りつぶす。
CanvasPatternCanvasPatternオブジェクトを指定する。画像の繰り返し表示で塗りつぶす。

戻り値

戻り値はありません。

項目説明
fillStyle取得の場合は、現在の設定が戻り値となる。

ノート

サポート状況
主要な全てのブラウザがサポートしている。Ie8以下はcanvas自体に対応していない。
値は3種類
単純な塗りつぶしなら色を表す文字列、グラデーションで塗りつぶしたい時はCanvasGradientオブジェクト、画像で塗りつぶしたい場合はCanvasPatternオブジェクトを指定する。