我已经详尽地寻找答案,我希望 stackoverflow 能再次提供帮助。
如果我们设置上下文的字体大小,它似乎允许任意精度:
fontSize = 11.654321;
context.font = 'bold ' + fontSize + 'px sans-serif ';
检查上下文对象将显示字体大小已非常精确地设置。然而,我注意到measureText()
上下文对象的方法总是返回一个整数值(大概是一个上限)。有谁知道显示文本时使用的实际精度(使用基于像素的字体大小时)?
包含此信息的文档链接就足够了(只要它实际上告知了精度)。
如果有人问,我正在尝试通过执行以下操作来调整字体以使文本适合给定的宽度:
var fontSize = 12;
context.font = 'bold ' + fontSize + 'px sans-serif ';
var text = "whatever";
var maxWidth = 200;
var currentWidth = context.measureText(text).width;
var adjustment = maxWidth / currentWidth;
fontSize *= adjustment;
context.font = 'bold ' + fontSize " 'px sans-serif ';