iPhone: Retina Display à une police d'écriture UIImage
-
25-10-2019 - |
Question
Les réponses Objective-C sont très bien, je me sers MonoTouch pour référence.
Je suis en train d'écrire du texte sur une UIImage. Retina affiche la police d'une manière saccadée. pixel doublé apparence, que je suppose est ce qui se passe. Comment puis-je obtenir un croustillant de police écrit à un UIImage?
//context is a CGBitmapContext
context.SetFillColor (color.CGColor);
context.SelectFont (font.Name, font.PointSize, CGTextEncoding.MacRoman);
context.SetTextDrawingMode (CGTextDrawingMode.Fill);
context.ShowTextAtPoint (pt.X, pt.Y, text);
La solution
lorsque vous créez le contexte de l'image, vous devez appeler le
UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale);
pas la UIGraphicsBeginImageContext régulière, cela va générer un contexte affichage capable dans l'affichage Retina.
Autres conseils
Essayez arrondir les coordonnées auxquelles vous affichez votre texte. Jetez également un coup du bouton dans son ensemble est sur des décalages entiers. Si vous les éléments de position à décalages non entiers, iOS se fera un plaisir d'aller interpoler vos graphiques, ce qui rend les choses « floue ».