| 目次 |
|---|
|
・テキストを書く ・テキストを配置する ・フォントを指定する ・位置を指定する |
<canvas>要素に、テキストを書くことが出来ます。
既にご紹介した「canvas要素(2) 色とスタイル」や「canvas要素(3) グラデーション」などと組み合わせることで視覚効果を施したテキストを表現することも可能です。
但し、あくまでもスクリプト内で定義しますので、SEOなどでは無視されます。
テキストを配置します。
テキストは「canvas要素(1) 簡単な図形 : 四角形を描く」同様、枠線と塗りつぶしそれぞれのメソッドを用いて配置します。
また、線色及び塗りつぶし色は「canvas要素(2) 色とスタイル」に従います。
リスト1. テキストの配置方法
context.strokeText("枠線", 10, 50);
context.fillText("塗りつぶし", 10, 100);
context.fillText("幅80に制限", 10, 150, 80);
コーディング例
フォントのサイズや形状などを指定することが出来ます。
CSS3のfontプロパティに対応します。(WEBフォントも対応可)
リスト2. フォントの指定
context.font = "italic 40px 'MS 明朝'";
コーディング例
寄せ位置や揃え位置を指定することが出来ます。
リスト3. 位置の指定
/* 寄せ位置 */ context.textAlign = 'start'; context.textAlign = 'left'; context.textAlign = 'end'; context.textAlign = 'right'; context.textAlign = 'center'; /* 揃え位置 */ context.textBaseline = 'top'; context.textBaseline = 'hanging'; context.textBaseline = 'middle'; context.textBaseline = 'alphabetic'; context.textBaseline = 'ideographic'; context.textBaseline = 'bottom';
コーディング例
measureTextメソッドでテキストの描画情報を知ることが出来ます。
リスト4. 描画幅
var text = 'この文字列の幅はxxxです。';
var metrics = context.measureText(text);
text = text.replace('xxx', metrics.width);
context.fillText(text, 10, 100);
コーディング例