【发布时间】:2020-08-28 00:22:18
【问题描述】:
为什么在我的简单示例中 textBaseline = 'middle' 不起作用?为什么我的文字移到顶部?
const size = 100;
const canvas = document.getElementById('canvas');
canvas.width = size;
canvas.height = size;
const context = canvas.getContext('2d');
context.font = "bold " + (size * 0.95) + "px Arial";
context.fillStyle = 'blue';
context.textAlign = "center";
context.textBaseline = 'middle';
context.fillText('SO', size / 2, size / 2);
canvas {
border: 1px solid red;
}
<canvas id="canvas"></canvas>
【问题讨论】:
-
对齐方式取决于 x 和 y 值。这些“中间”设置只会在 y 坐标值之间对齐
-
谢谢,我明白了。我想我的下一个问题是可以找出显示字母的实际高度吗?我只使用大写字母,所以它可能会简化一点。知道这个高度后,我可以使用
hanging或alphabetic基线来根据我的需要对齐它。
标签: css canvas html5-canvas