2

iPhone用のレトロタイプのゲームを書いています。画面にピクセルスタイルのフォントをレンダリングする必要があります。ただし、シミュレーターで実行すると見栄えが良くシャープに見えますが、デバイスで実行するとそうではありません。フォントのアンチエイリアシングを無効にする方法はありますか?私はすでにこれを試しました:

CGContextRef c = UIGraphicsGetCurrentContext();
CGContextSetShouldSmoothFonts(c, FALSE);
CGContextSetShouldAntialias(c, FALSE);
CGContextSetAllowsAntialiasing(c, FALSE);

また、http: //github.com/zynga/FontLabel/tree/masterのフォントレンダリングクラスを使用しています

4

2 に答える 2

4

UIViewを回転させて横向きモードで描画しているときに、PIに十分な桁数を使用していなかった(3.14159対3.14159265)と、それが修正されました。^^

于 2010-03-11T23:53:02.590 に答える
1

テキストが描画されている場所に至るまでの階層内のビューやレイヤーが、整数のピクセル境界((10.0、20.0)など)に位置合わせされていることを確認してください。これにより、描画されたテキストがぼやける可能性があります。

さらに、FontLabelのコードを見ると、Quartzの描画が1/2ピクセルの座標に揃えられているという事実は考慮されていないと思います(たとえば、シャープな特徴を得るには(10.5、20.5)で描画する必要があります)。これをどこで修正するかはよくわかりませんが、XとYで0.5ピクセルだけシフトpointインしてみて、フォントの描画がクリアされるかどうかを確認できます。-drawTextInRect:

于 2010-03-11T16:07:23.123 に答える