まず、このトピックが数回前に持ち出されたことを知っていますが、過去に使用した「解決策」のどれもがこの特定の場合。私はCALayer
にテキストを描画していますが、これは自分のNSToolbar内のビューでホストされています。ここでは、テキストの外観が好きなものです:Core Animationでテキストがレンダリングされない
私はコンテキストに描画する前にサブピクセルアンチエイリアスをオフにするCGContextSetShouldSmoothFonts(ctx, false)
を呼び出すことですthis StackOverflowのポストからの提案を使用してみました。これは、過去に私に許容可能な結果を与えたソリューションですが、この場合には、テキストがさらに悪化見えてきたようだ:
その記事で言及された他の解決策は、矩形を埋めるためにあります描画の前に不透明な背景色を使用します。これは、ツールバーの背景がグラデーションであるため、この場合は不可能です。このテキストを普通のテキストのように見えるようにするためにできることはありますかNSView
?
私は、スクリーンピクセルとのレイヤーのアラインメントが分からないため、CAがサブピクセルアンチエイリアスなしでレンダリングすると考えています。しかし、多くの場合、レイヤーは正確に整列されているため、サブピクセルのアンチエイリアシングは適切です。私はまだこれに具体的な解決策を見いだすことはありません - 私たちが偉大な答えを得ることを期待して+1: – jtbandes
また、あなたが投稿した最初のスクリーンショットに何が間違っていますか?あなたの望む結果は何ですか? – jtbandes
言葉で説明するのは難しいですが、テキストはややシャープに見えます。ほとんどギザギザに見えます。その1つの小さなスクリーンショットから見るのは難しいですが、一度全体の画像をアプリケーションの残りの部分と比較するとかなり明らかです – indragie