3

アンチエイリアスを使用してテキスト レンダリングをスムーズにしようとしています。しかし、アンチエイリアスではありません。

http://tinypic.com/r/2h7dy1i/4

1行目はpangoとcairoで作成したpng画像です。2 行目は単なる html<span>タグです。Gnome DEを使用したUbuntu、firefoxにあります。2 行の「W」と「v」を比較すると、違いがよくわかります。

テキストの描画を担当するコードは、http://pastie.org/1073683 にあります。 フォント オプションは、17 行目と 20 行目で次のように設定されています。

// setting up antialiasing
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);

// set the font options to cairo
cairo_set_font_options(this->cro, cfo);

この 2 つの行を同じにするにはどうすればよいか教えてください。

4

1 に答える 1

3
cairo_font_options_set_antialias(cfo, CAIRO_ANTIALIAS_GRAY);

あなたはそれを求めました、あなたはそれを得ました。一致させるには、CAIRO_ANTIALIAS_SUBPIXEL が必要です。ただし、別のマシンに表示される可能性のある画像にテキストを描画する場合、これは適切ではありません。そのマシンのモニターが、RGB ストライプが予測可能な順序で配置された LCD パネルであるという保証はありません。またはそれを横向きにします。または、正確な元のサイズで表示されること。不一致があると、テキストの見栄えがかなり悪くなります。

于 2010-10-17T14:00:40.720 に答える