2009-05-27 18 views
8

J'ai utilisé le code de cet exemple pour vous aider et cela fonctionne bien. http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/UIImage Rotation degrés personnalisés

Je ne peux pas l'entraînement comment faire pivoter par une quantité personnalisée de degrés entre 0 & 360 ....

+1

Je recommanderais un tag iphone ici ... –

+1

Ajoutée tag iPhone –

+0

Grand morceau de code. Ne fait pas de rotation arbitraire, mais il est efficace et gère très bien l'orientation de l'image avec la mise en miroir. –

Répondre

14

Vous voulez faire à peu près la même chose que dans ce poste ne Pivoter:

CGSize size = sizeOfImage; 
UIGraphicsBeginImageContext(size); 
CGContextRef ctx = UIGraphicsGetCurrentContext(); 
CGContextRotateCTM(ctx, angleInRadians); 
CGContextDrawImage(ctx, (CGRect){{}, size}, image); 

UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 
return image; 

Vous devrez peut-être également traduire le CTM en plus de le faire pivoter pour compenser le centre de rotation. Si vous ne voulez pas recadrer les bords de l'image lors de la rotation, vous devez augmenter la taille avec un trig de base.

+0

Cela fonctionne très bien! Ta –

+0

Salut, qu'est-ce que 'ctx'? – LouwHopley

+1

'ctx' est juste le contexte graphique. J'ai mis à jour la source pour l'indiquer. –