Wie kann CATextLayer seinen Text glätten?

8

Laut der Dokumentation ist es möglich Aktivieren der Schriftartglättung in CATextLayer:

Text can only be drawn using sub-pixel antialiasing when it is composited into an existing opaque background at the same time that it's rasterized.

So verstehe ich diesen Satz:

%Vor%

was nicht funktioniert. Text wird nicht mit Subpixel-Anti-Aliasing gezeichnet.

    
alecail 10.02.2013, 10:35
quelle

5 Antworten

8

Die hier beschriebene Methode hier funktioniert:

>

Fall 2: Wenn Sie einen CATextLayer direkt verwenden, müssen Sie dies tun Unterklasse CATextLayer und machen Sie so etwas wie in Ihrem Zeichencode:

%Vor%

Hier ist ein Vergleich von geglättet vs nicht geglättet:

PS: Sehen Sie sich diese Antwort nicht auf einem CRT an.

    
alecail 10.02.2013, 11:47
quelle
3

Kann zu spät kommen. Aber ich sehe, dass diese Frage eine perfekte Lösung hat, wie Steves Antwort und nacho4ds Kommentar:

So erhalten Sie Text in einem CATextLayer löschen

    
vietstone.tech 10.09.2013 03:28
quelle
2

Wie ich diese Dokumentation verstehe, heißt es, dass CATextLayer immer das Subpixel-Antialiasing deaktiviert. Der Satz, den Sie zitiert haben, wird nur als Erklärung dafür gegeben, nicht als Anweisungen, wie Sie ihn aktivieren können, gefolgt von:

  

Wenn Sie die Deckkrafteigenschaft des Layers auf YES setzen, wird der Rendermodus nicht geändert.

... was bedeutet, dass selbst wenn Sie einen undurchsichtigen Hintergrund für die Ebene verwenden, dies nicht die Tatsache ändert, dass CATextLayer keine Subpixel-aa verwendet.

    
omz 10.02.2013 10:52
quelle
1

Wenn Sie nach einem Problem suchen, bei dem CATextLayer in OSX etwas verschwommenen Text rendert, habe ich nach viel Wall-Head-Banging den scharfen, klaren Text bekommen, indem ich Folgendes gemacht habe:

%Vor%

(Ich habe auch die Ansichten Hintergrundschicht contentsScale auf die gleiche gesetzt).

    
james_alvarez 04.02.2015 23:54
quelle
0

Akzeptierte Antwort funktioniert nicht für meine.

Ich fand funktionierende Lösung auf Ignacio Nieto Blog

%Vor%     
George 21.06.2016 10:15
quelle