【发布时间】:2011-05-31 20:35:30
【问题描述】:
我对画布元素抗锯齿文本的方式有点困惑,希望大家能提供帮助。
在下面的截图中,顶部的“Quick Brown Fox”是一个 H1 元素,底部是一个画布元素,上面呈现了文本。在底部,您可以看到两个“F”并排放置并放大。注意 H1 元素如何更好地与背景融合:
这是我用来渲染画布文本的代码:
var canvas = document.getElementById('canvas');
if (canvas.getContext){
var ctx = canvas.getContext('2d');
ctx.fillStyle = 'black';
ctx.font = '26px Arial';
ctx.fillText('Quick Brown Fox', 0, 26);
}
是否可以在画布上以一种看起来与 H1 元素相同的方式呈现文本?为什么它们不同?
【问题讨论】:
-
+1 这是个好问题!画布元素上丑陋的文本对最终用户来说非常明显,因为它与页面上其他地方的“好”文本非常接近。
标签: html text canvas antialiasing subpixel