除 Firefox 之外的所有浏览器都从 Canvas 元素的 measureText()
方法返回一个没有小数部分的数字。 FF 返回类似 26.45682955697084
的值。由于据说测量以像素为单位,我想知道为什么 FF 中的分数?
为了不让过分热心的版主关闭我的问题,请不要争论或反对这种行为!我只是想知道这种行为是否有理由,如果有,那是什么。也许我应该注意 Canvas 中呈现的字形测量的细微差别?
最佳答案
Firefox 似乎做对了。规范说宽度以 double 形式返回。 http://dev.w3.org/html5/2dcontext/#textmetrics .
另请注意, Canvas 支持渲染像素的分数,在这种情况下,它会使用某种插值来使您的图像模糊并缓慢渲染。 ;-) 我找到了 http://sebleedelisle.com/2011/02/html5-canvas-sprite-optimisation/对此提供很多信息。
关于javascript - 是否有 "programming culture"解释为什么 FF 从 measureText 方法返回长分数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8896104/