2011-02-17 4 views
3

私のAndroidアプリは、テキストをいくつかの方法で表示しますが、私は人々の間でいくつかの迷惑な違いがあります。Androidテキストの表示 - Canvas.drawText()の出力ピクセル化

「自動」と呼ばれる表示方法を使用すると、テキストが非常にうまく表示されます。自動メソッドでは、トースとボタンのウィジェットのようなツールを参照しています。ここではテキストとOS(または「環境」など)が表示されます。手紙はきれいに曲がっていて、見るのが楽しく、読みやすくなっています。

しかし、テキスト表示(Surface Runner ViewでCanvas.drawText()を使用)を扱う私のコードでは、テキストの品質が悪いです。テキストは読みやすいですが、ピクセル化されています。手紙はちょうど彼らのベストを見ない。

たとえば、Typeface.SANS_SERIFを使用してPaint.setTypeface()を試してみましたが、自分のコードが表示されているときの表示品質は常に悪いです。ドバイ、貧しい。

これを体験した他の人はいますか?万が一、誰かが解決策を持っていますか?

答えて

14

Paint.setAntiAlias(boolean)またはPaint.setSubpixelText(boolean)で試してみることもできます。

+2

私のコードでsetSubpixelText()がどのような効果を持っているのかよく分かりませんが、setAntiAlias()は素晴らしいテキストを扱いました。私のコードのグラフィックス部分には、他のものの上に描かれたものが少しあります。アンチエイリアスが有効になっていれば、結果はよく見えますが...しかし、アンチエイリアスをオンとオフに切り替えるのは問題ありません。必要に応じてオフにします。だから、ありがとう! – Rich

+0

あなたは大歓迎です!私は実際にサブピクセルのテキストオプションが何をするかを正確には特定していません。私が誤解していないなら、それはWindowsのClearTypeレンダリングと似ていますが、実際のドキュメントは見つかりませんでした。 – kcoppock

+0

'setSubpixelText'はSUBPIXEL_TEXT_FLAGを設定します。これは(まばらに)ここに記述されています:http://developer.android.com/reference/android/graphics/Paint.html#SUBPIXEL_TEXT_FLAG – CJBS

関連する問題