CanvasRenderingContext2D.textBaseline
Canvas 2D API の CanvasRenderingContext2D.textBaseline
プロパティは、テキストを描画するときに用いられる現在のテキストのベースライン (基準線) を指定します。
構文
ctx.textBaseline = "top" || "hanging" || "middle" || "alphabetic" || "ideographic" || "bottom";
オプション
指定可能な値:
- top
- テキストベースラインは em square 一辺が 1 em の正方形 の上になります。
- hanging
- テキストベースラインは hanging ベースラインになります。
- middle
- テキストベースラインは em square の真ん中になります。
- alphabetic (default value)
- テキストベースラインは標準的な alphabetic ベースラインになります。
- ideographic
- テキストベースラインは ideographic ベースラインになります。文字の主要範囲の底辺が alphabetic ベースラインの下からはみ出る場合があるのに対し、このラインは主要範囲の底辺そのものを表します。(中国語、日本語、韓国語で意味を持ちます。)
- bottom
- テキストベースラインは bounding box の下辺になります。ideographic ベースラインとの違いは、ディセンダー (descenders) をも含めて底辺を決めるかどうかです。
デフォルト値は alphabetic
です。
例
textBaseline
プロパティの使用例
さまざまなベースライン設定を行う例です。
HTML
<canvas id="canvas" width="550" height="500"></canvas>
JavaScript
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
var baselines = ['top', 'hanging', 'middle', 'alphabetic', 'ideographic', 'bottom'];
ctx.font = '36px serif';
ctx.strokeStyle = 'red';
baselines.forEach(function (baseline, index) {
ctx.textBaseline = baseline;
var y = 75 + index * 75;
ctx.beginPath(); ctx.moveTo(0, y + 0.5); ctx.lineTo(550, y + 0.5); ctx.stroke();
ctx.fillText('Abcdefghijklmnop (' + baseline + ')', 0, y);
});
以下のコードを編集すると、canvas の変更個所をその場で確認できます:
仕様
仕様書 | 策定状況 | コメント |
---|---|---|
HTML Living Standard CanvasRenderingContext2D.textBaseline の定義 |
現行の標準 |
ブラウザ実装状況
BCD tables only load in the browser
関連情報
- このメソッドを定義するインターフェイスである
CanvasRenderingContext2D