22

サブピクセルの配置により、GDIと比較してDirectWriteテキストレンダリングがぼやけることはすでに知っています。

ただし、私の質問はもう少し基本的です。DirectWrite(および関連するメソッド)でテキストをGDIのように鮮明にレンダリングできないのはなぜですか?

言い換えると、GDIのように、DirectWriteがテキストを最も近いピクセルにスナップできない理由は
何ですか?

たとえば、ハードウェアの問題ですか?ドライバーアーキテクチャの問題?単に実装されていないのですか?または、他の何か?


小さいサンプル:

より大きなサンプル:

Direct2D、エイリアス:

Direct2D、デフォルト:

Direct2D(「クラシックGDI」):

Direct2D(「ナチュラルGDI」):

実際の古典的なGDI:

![](http://i.stack.imgur.com/kbdPb.png)

実際のClearTypeGDI:

ここに画像の説明を入力してください


注:これらすべてがぼやけているように見える場合は、次を実行してください

document.body.style.zoom = 1 / window.devicePixelRatio

Chromeのコンソールで、後で表示します。

4

1 に答える 1

19

あなたはlikeとlikeを比較していません。Direct2Dサンプルはすべてグレースケールでレンダリングされますが、GDIおよびLinuxサンプルはサブピクセルアンチエイリアシング(WindowsではClearType)を使用しています。

このページでは、cleartypeを有効にするために必要なことについて説明します:http://msdn.microsoft.com/en-us/library/windows/desktop/dd368170%28v=vs.85%29.aspx

注意:このようなレンダリングをテストする場合は、Windows Magnifierなどを使用して、実際に取得していると思うものが取得されていることを確認することをお勧めします。

于 2011-12-29T01:46:14.647 に答える