2009-05-27 8 views
8

Ho utilizzato il codice in questo esempio per assistere e questo funziona bene. http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/UIImage Rotazione gradi personalizzati

non posso allenamento come ruotare per un importo personalizzato di gradi tra 0 & 360 ....

+1

Suggerirei un tag iphone qui ... –

+1

Tag aggiunto iPhone –

+0

Grande pezzo di codice. Non esegue la rotazione arbitraria, ma è efficiente e gestisce l'orientamento delle immagini con il mirroring molto bene. –

risposta

14

Avrai voglia di fare più o meno le stesse cose come in quel post fa in rotazione:

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

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

Potrebbe anche essere necessario tradurre il CTM oltre alla rotazione per compensare il centro di rotazione. Se si desidera non ritagliare i bordi dell'immagine durante la rotazione, si dovrebbe aumentare la dimensione con un trig di base.

+0

Che funziona benissimo! Ta –

+0

Ciao, che cosa è 'ctx'? – LouwHopley

+1

'ctx' è solo il contesto grafico. Ho aggiornato la fonte per indicarlo. –