11
votes

CgcontextDrawImage dans la rétine dessine l'image pixélisée?

Je dois dessiner des images dans une calayeuse car je dois effectuer divers effets, animations et filtres dessus. Quand je fais un simple dessin dans le CGContext, peu importe ce que je fais, il est toujours tiré pixelated ... Quelle est la bonne façon de dessiner sur un contexte dans la rétine?

C'est ce que je fais maintenant: xxx


0 commentaires

3 Réponses :


20
votes

Vous devez définir l'échelle du contenu du calque de manière appropriée.

myLayer.contentsScale = [UIScreen mainScreen].scale


1 commentaires

Aaaaaa! Je cherchais partout dans la CG Docs - Vous n'avez pas pensé pendant une minute c'était un problème de couche! Merci!



27
votes

J'ai eu le même problème, mais la solution ne semblait pas fonctionner.

uigraphiquebeginimagecontext () s'est avéré pour pouvoir causer mon problème. Je pose ma solution ici pour les futurs utilisateurs avec le même problème.

de iOS 4.0 Vous devez utiliser: xxx

au lieu de xxx

si vous ne faites pas ' t veux des images pixélisées.


2 commentaires

Merci! Je ne peux pas dire que je comprends pourquoi cela fonctionne, mais ça fait.


Il convient de noter que j'avais les meilleurs résultats qui combinent cela avec la réponse acceptée: UgraphicsBeginimagecontextextextextextes (Imagedize, Non, [UISREEN MAINSCREEN] .CALE);



0
votes

La solution mise à jour @ TIEME pour SWIFT 4

UIGraphicsBeginImageContext(size)


0 commentaires