4

数値を描画するUIViewにスケール変換を適用しています。(数値は文字通りdrawInRectで描画されており、UILabelは表示されません。)スケール変換により、ビューがかなり小さくなります...たとえば、80%小さくなります。

結果の数値は少し「分厚い」ように見えます。テキストの見栄えを良くし、アンチエイリアス処理を維持する方法はありますか?

4

2 に答える 2

4

問題は、スケールがレンダリングされた(ビットマップ)テキストを拡大するだけで、ぼやけてしまうことです。1つの方法は、テキストを拡大縮小する前に、コンテナのサイズに応じてテキストのフォントサイズを変更するか、拡大縮小を完全に避けてフォントサイズを変更することです。この関連する質問を参照してください。

結果は、ビューをどのように拡大縮小するかによって異なります。フォントサイズを変更するだけでは不十分で、レンダリングされたテキストを引き伸ばす必要があるかもしれません。その場合は、別のアプローチを考え出す必要があります。

UILabelを使用していないことは承知していますがmyLabel.adjustsFontSizeToFitWidth = YES、フォントサイズに設定すると、そのパスをたどる場合に備えてトリックになります。

于 2011-03-10T10:05:32.477 に答える
2

私の解決策:

  lbl.layer.shouldRasterize = YES;
  lbl.layer.rasterizationScale = 0.375f;

元のサイズに保存するときに shouldRasterize を設定します。

于 2012-11-15T22:48:01.793 に答える