文本 TextStyles

绘制文本的相关样式属性共有四种:

font

CanvasRenderingContext2D.font 用以设置文本中字体属性。

语法

context.font = value;
说明类型默认值
value符合 CSS font 语法的 DOMString 字符串string"10px sans-serif"

示例

<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
// 设置文本字体
ctx.font = '48px serif';
ctx.strokeText('Hello world', 50, 100);

textAlign

CanvasRenderingContext2D.textAlign 用以设置绘制文本时文本的对齐方式。

语法

context.textAlign = 'left' || 'center' || 'right' || 'start' || 'end';
说明类型
left文本左对齐。string
center文本的中心被放置在指定的位置。string
right文本右对齐。string
start文本在指定的位置开始。默认值。stri g
end文本在指定的位置结束。stirng

direction 属性会对此属性产生影响。如果 direction 属性设置为 ltr,则 leftstart 的效果相同,rightend 的效果相同;如果 direction 属性设置为 rtl,则 leftend 的效果相同,rightstart 的效果相同。

示例

<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.font = '48px serif';
// 设置文本对齐方式
ctx.textAlign = 'left';
ctx.strokeText('Hello world', 50, 100);

textBaseline

CanvasRenderingContext2D.textBaseline 用以设置绘制文本时基线对齐方式。

语法

context.textBaseline = value;
说明类型
top文本基线在文本块的顶部。DOMString
hanging文本基线是悬挂基线。DOMString
middle文本基线在文本块的中间。DOMString
alphabetic文本基线是标准的字母基线。默认值DOMString
ideographic文字基线是表意字基线;如果字符本身超出了alphabetic 基线,那么 ideograhpic 基线位置在字符本身的底部。DOMString
bottom文本基线在文本块的底部。 与 ideographic 基线的区别在于 ideographic 基线不需要考虑下行字母。DOMString

示例

<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.font = '48px serif';
// 设置文本基线
ctx.textBaseline = 'hanging';
ctx.strokeText('Hello world', 0, 100);

direction

CanvasRenderingContext2D.direction 用以设置绘制文本时文本方向的属性。

语法

context.direction = value;
说明类型
value文本方向从左向右。DOMString
rtl文本方向从右向左。DOMString
inherit根据情况继承  Canvas 元素或者  Document。默认值。DOMString

示例

<canvas id="canvas"></canvas>
var canvas = document.getElementById('canvas');
var ctx = canvas.getContext('2d');
ctx.font = '48px serif';
// 设置文本方向
ctx.direction = 'ltr';
ctx.strokeText('Hello world', 0, 100);