除了Firefox之外的所有浏览器都会从Canvas元素的measureText()
方法返回一个没有小数部分的数字。 FF返回26.45682955697084
之类的值。由于测量结果以像素为单位,我想知道为什么FF中的分数?
所以我的问题没有被过度热心的主持人关闭,请不要争辩或反对这种行为!我只是想知道这种行为是否有理由,如果有,那是什么。也许我应该注意在Canvas中渲染字形测量的细微差别?
答案 0 :(得分:2)
似乎Firefox正在做正确的事情。规范说宽度以双精度返回。 http://dev.w3.org/html5/2dcontext/#textmetrics。
另请注意,画布支持渲染像素的分数,在这种情况下,它使用某种插值来使图像模糊并缓慢渲染。 ;-)我发现http://sebleedelisle.com/2011/02/html5-canvas-sprite-optimisation/对此非常有用。