最近,我遇到了文本的亚像素抗锯齿问题,该问题会产生非常刺眼的颜色,让我想知道如何正确完成它:

我绘制了一些黑色瓷砖,覆盖下面三分之二的像素的情况。



颜色与我看到的颜色匹配,但是当我查看正确的抗锯齿文本时,结果却不那么明亮和分散注意力:


在良好的光强度和正确的颜色之间取得平衡。哪些方法可用于亚像素抗锯齿,从而获得良好效果?


更新: 3倍宽,并具有多重采样功能。下面,我将平均每3个像素与分配给RGB进行比较。在某些情况下(尤其是与此处的示例进行比较),颜色似乎仍然过亮,并不是我的手机可以很好地捕捉它们。






好,所以我的显示器需要撒些灰尘

评论

我相信某些屏幕的原色布局会有所不同。您是否在不同类型的屏幕上查看过结果?

@trichoplax不,但是我有信心我的两台显示器都是RGB。同样,在这里,我对亚像素抗混叠技术的工作方式比对我的问题的解决更感兴趣。

我并不是说不同的原色,我只是说红色,绿色和蓝色是以不同的几何图案排列的,因此您的算法需要知道使用哪种图案才能产生良好的结果。
@trichoplax是的,对不起,我应该澄清一下,两个监视器的像素都按R-G-B顺序从左到右分成三等分,如这张照片所示。

在一定程度上,由于斜线不允许在同一垂直方向上连续出现多个像素,因此斜线不允许出现相同的颜色。

#1 楼

我不确定在那里会发生什么。查看示例中“注意事项”的呈现方式,“缺点”看起来就像您在进行粗子像素抗锯齿处理时所得到的效果一样,而无需应用必要的“修复”以使其看起来不错。但是随后,同一词中的“ der”看起来就好像没有子像素抗锯齿。

您可以在此处找到一篇很好的文章,关于外观好的子像素抗锯齿如何工作/www.grc.com/ct/ctwhat.htm,并在此处“修复”部分https://www.grc.com/ct/freeandclear.htm和https://www.grc.com/ct/ cttech.htm

结果是:如果仅通过计算每个子像素的覆盖面积来计算R / G / B强度,则产生的色带非常难看/令人讨厌。要解决此问题,您必须对子像素图像应用水平模糊/低通滤镜。结果是图像不那么清晰,但饱和色也少得多。即类似于您的“检查您”示例。

#2 楼


用什么方法对子像素进行抗锯齿,可以得到很好的效果?
结果对曲线进行栅格化的方式有所不同,最显着的是它使用了哪种抗锯齿/采样方案以及是否使用了字体提示。有关概述的详细信息,请参阅反粒度几何的文本栅格化曝光(IIRC,这是Chromium / PDFium使用的)或Wikipedia上的子像素渲染。与亚像素渲染有关。可能是任何东西:错误的像素几何,错误的伽玛,错误的色彩空间转换,...​​

评论


$ \ begingroup $
我希望像素几何,伽玛或色彩空间转换的问题会在图像的任意点上显示为颜色失真,而不是问题图像中出现的规则周期。它在放大的彩色抗锯齿和纯灰度抗锯齿之间水平循环这一事实表明,抗锯齿的首次应用是在不同的比例下执行的。
$ \ endgroup $
– trichoplax
2015年8月10日在12:01



$ \ begingroup $
我没有完整的解释,因为变形似乎并未在文本的不同行之间对齐,但是似乎问题出在与已光栅化的文本而不是矢量文本的亚像素渲染有关。 。
$ \ endgroup $
– trichoplax
2015年8月10日在12:16



$ \ begingroup $
@trichoplax我想说的是我怀疑Anti-Grain的亚像素渲染是否存在问题。取而代之的是,我猜想输入要早于输入栅格化器的时候就被破坏了。或更高版本,但不在光栅化器本身中。
$ \ endgroup $
– Ecir Hana
2015年8月10日12:39



$ \ begingroup $
是的,我认为正确应用了亚像素渲染,但是当将其应用于预先光栅化的文本时,不可能给出良好的结果。我不认为渲染器坏了,我只是认为它被馈送了错误的文本。
$ \ endgroup $
– trichoplax
2015年8月10日在12:46