テキストだけでなく、一般的なグラフィックス用にRGBサブピクセルレンダリング(ClearTypeなど)をサポートするグラフィックスライブラリがあるかどうか疑問に思います。これにより、水平解像度を実質的に3倍にし、グラフィックを3番目のピクセルのx位置に配置できます。
これは非常に便利だと思いますが、次の点を除いて、インターネット上で多くを見つけることができませんでした。
- サブピクセルフォントレンダリングの仕組み(中央付近にいくつかの線画像があります)
- サブピクセルレンダリングと画像のサイズ変更(ビットマップのサイズ変更にサブピクセルレンダリングを適用することに関するいくつかの興味深い考え)
これを実装しているライブラリはありますか、それともこのようなものをカイロライブラリに持ち込む努力はありますか?
アップデート:
特に、現在のLCD画面が異なる色のサブピクセルを使用していることを考慮したレンダリング手法について言及しています。白色点を作成するには、すべてのサブピクセルを「オン」または255に設定します。白い線は、互いに重なり合う複数のサブピクセルになります。
...RGB...
...RGB...
...RGB...
...RGB...
...RGB...
...111...
(ここ.
で、は完全に黒のサブピクセルでありR
、G
またはB
は完全に点灯している赤、緑、または青のサブピクセルです)。私たちの目はサブピクセルを解決できないため、それらが混ざり合って白い線を作ります。ただし、次の項目から白い線を引くこともできます。
....GBR..
....GBR..
....GBR..
....GBR..
....GBR..
....111..
完全にシャープですが、x =11/3ピクセルに配置されていることに注意してください。これは、代わりにわずかにぼやけた白い線を描画する従来のレンダリング手法では不可能です。ここでは、たとえばR
= 70%点灯、r
= 30%点灯。私は数学を解きませんでした、これはあなたが考えを理解するためだけです:
...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...RGBrgb...
...777333...
もう1つの例は、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)LCDで取得できる限り鮮明であることがわかります。
フォント表示(WindowsではClearType、FreeTypeではサブピクセルレンダリング)の実際の実装には、より高度なアルゴリズムがあります。それらは、個々のサブピクセルが互いにブリードまたはシャインすることを考慮に入れており、全体の色の強度またはエネルギーを維持します。また、サブピクセルの間隔が均一ではないこと(RとGの間、またはGとB(ピクセル内)がBとRの間よりも小さい場合がある)、および最後に一部のディスプレイのピクセルレイアウトがまったく異なることも考慮に入れています。