有没有一种方法可以覆盖 WebKit 浏览器中的最小字体大小?

5
我正在画布实例上渲染微小文本,它在Firefox 4上按预期工作,但在Chrome和Safari上,字体使用这些浏览器中设置的最小字体大小进行渲染,该字体大小已经达到最小值,并且无法通过UI降低(看起来像6px字体大小),但对于我想要实现的目标仍然太大。
我用于打印字体的代码类似于以下内容,以防有用:
ctx.font = '4px Monospace';
ctx.fillText("Any text", 0, 10);

那么,是否有可能覆盖最小字体大小设置?

更新:我知道4px的文本不可读,但这不是问题的重点。事实上,我根本不需要它可读。

更新2:在Safari中this solution可以解决问题,但在Chrome中仍然无效。

谢谢。


4px?没人会用这么小的字体… - atlavis
如果您有一个可见的文本,那么它应该是用户可读的。 - Teneff
1
对我来说它完美地工作了... http://jsfiddle.net/YSU8H/7/ - Omer Tuchfeld
@OmerPT:对于我来说,这比2px显著地更大(在Ubuntu上的Chromium)。 - Joachim Sauer
1
https://dev59.com/_nE95IYBdhLWcg3wftxw 有几个解决方案。 - James
显示剩余5条评论
1个回答

2

您可以尝试使用更大的字体并缩放上下文

ctx.font = '8px Monospace';
ctx.save();
ctx.scale(0.5, 0.5);
ctx.fillText("Any text", 0, 20);
ctx.restore();

在指定文本位置时,请记得考虑缩放比例。

这可能会降低文本的图形质量,但在那个大小下,它将非常难以阅读。


这是个好主意,我会试一下。但我担心性能问题,因为我要在一个循环中绘制文本,而这个循环可能会运行数千次。 - Sergi Mansilla

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接