Retina display-core-Grafik-Schrift-Qualität
Versuchen zu verstehen, warum bekomme ich die niedrige Qualität der Zeichnung mit CGContextShowTextAtPoint? Siehe die beigefügten Bild:
Den Buchstaben "W" gezeichnet mit CGContextShowTextAtPoint auf einen CALayer und sieht sehr pixelized. Die Schaltfläche ist eine standard-Schaltfläche und sieht high-res als erwartet. Ich würde gerne den text, Zeichnung, um hi-res.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standardmäßig CALayer ist nicht die Wiedergabe Ihrer Quarz-Inhalte auf die höhere Auflösung des Retina-Displays. Sie können diese mithilfe von code wie dem folgenden:
Diese betreffen nicht nur das Rendern von text, sondern alle Ihre Quarz-Zeichnung innerhalb CALayers, so müssen Sie dies für alle Ihre Schichten mit benutzerdefinierten Quartz Inhalt.
-setNeedsDisplay
danach. Stellen Sie sicher, dass Ihre Schicht hat seinen Ursprung auf integral pixel-Koordinaten. Denken Sie daran, beim zeichnen in der Ebene mit Quarz, den Sie ausrichten möchten, auf halb-pixel-Koordinaten, nicht fester lieben.Nicht mit CGContextScaleCTM liefern alle Ergebnisse für Sie? Beim arbeiten mit einem Grafik-Kontext, so etwas wie dieses:
Swift version:
Einer Gruppe von Funktionen steuert, wie Core-Grafik rendert Schriften: