我正在开发一个基于画布的应用程序,并且我的文本垂直对齐存在一些问题。我正在使用浮点坐标,我认为这是问题的原因。虽然我不确定,但仍在寻找解决方案。无论如何,例如,我用于在正方形中显示字母“O”的代码是:
context.fillRect(0, 0, 21.864951768488744, 21.864951768488744);
context.textBaseline = 'middle';
context.textAlign = alignLeft ? 'left' : 'center';
context.fillText('O', 10.932475884244372, 10.932475884244372);
Run Code Online (Sandbox Code Playgroud)
画布上的结果是“O”水平居中,但放置在中心上方约 1 - 2 个像素处。
有人对此有什么想法吗?