矢量图形 – RGB子像素渲染图形?

前端之家收集整理的这篇文章主要介绍了矢量图形 – RGB子像素渲染图形?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想知道是否有任何支持RGB子像素渲染(如ClearType)的图形库,用于一般图形,而不仅仅是文本。这将允许一个几乎三倍于水平分辨率,并将图形放在第三像素x位置。

虽然我认为这是非常有用的,但我在互联网上找不到很多,除了以下内容

> How Sub-Pixel Font Rendering Works(中间有一些线图)
> Subpixel rendering and image resizing(应用子像素渲染来调整位图大小的一些有趣的想法)

有没有实现这一点的图书馆,还是有努力把这样的东西带到开罗图书馆呢?

更新:

我专门提到了考虑到当前LCD屏幕使用不同颜色的子像素的渲染技术。要使一个白点,您将所有子像素设置为“开”或255.白线将是彼此顶部的几个子像素:

...RGB...
...RGB...
...RGB...
...RGB...
...RGB...
...111...

(其中,是完全黑色的子像素,R,G或B是完全点亮的红色,绿色或蓝色子像素)。因为我们的眼睛不能解决子像素,它们融合在一起形成一条白线。然而,我也可以从以下方面做一个白线:

....GBR..
....GBR..
....GBR..
....GBR..
....GBR..
....111..

请注意,它是完全锋利的,但位于x = 1 1/3像素。传统的渲染技术不可能使用一些稍微模糊的白线。这里例如R = 70%点亮,r = 30%点亮。我没有计算出这个数学,这只是你的想法:

...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...777333...

另一个例子是一个斜率,你可以做a)全像素,b)抗锯齿,或c)与子像素渲染:

a)  RGB......  b)  RGB......  c)  RGB......
    RGB......      RGBrgb...      .GBR.....
    ...RGB...      rgbRGB...      ..BRG....
    ...RGB...      ...RGB...      ...RGB...
    ...RGB...      ...RGBrgb      ....GBR..
    ......RGB      ...rgbRGB      .....BRG.
    ......RGB      ......RGB      ......RGB

再次注意,这只是一个粗略的例子,给你一般的想法,但你看到a)是锯齿状或别名,b)是模糊的,c)是一样清晰,你可以得到它在液晶显示器上。

对于字体显示(Windows上的ClearType和FreeType中的子像素渲染),实际的实现具有更复杂的算法。他们考虑到各个子像素渗透或相互照射,它们保留了总色彩强度或能量。他们还考虑到子像素间距不均匀(R和G之间的间距,或G和B(像素中的间距)可能小于B和R之间),最后一些显示器具有完全不同的像素布局。

解决方法

据我所知,没有具有子像素RGB渲染的图形库。

以下是几个可能的原因:

>微软在RGB子像素渲染技术上拥有few patents。我不知道这些专利是否仅适用于字体光栅化,但如果不是,则可能是其他图形库不使用它的一个很好的原因。
像这个问题一样,子像素渲染依靠硬件实现。它与通过并排3个彩色单元(例如LCD显示器)组合颜色的显示器工作良好。对于所有其他显示类型(等离子,投影机,旧CRT),它不起作用。
子像素渲染仅增加水平分辨率。这种限制对于字体光栅化来说不是问题,因为它通常是水平的字体需要更多的分辨率(请参阅粗体和斜体字符和字距调整)。使用“自定义”图形,在每个轴上具有不同的分辨率是奇怪的。
子像素渲染不适用于旋转显示。例如,移动设备必须使用RGB子像素渲染和抗锯齿。
>子像素渲染仅适用于显示器的原始分辨率。
>看起来色盲人有子像素渲染的问题。有关更多信息,请参阅paper
子像素渲染在黑色背景上的白色或白色黑色非常好。与其他背景相反,“渲染器”必须知道背景颜色以调整子像素效果。由于这个原因,Office 2013停止使用ClearType。
>这更主观,但子像素渲染和抗锯齿之间的区别是非常微妙的。子像素渲染的缺点和增加的复杂性可能不值得。

IMHO,未来更好的图形是与pixel density更高像苹果视网膜显示

猜你在找的CSS相关文章