2009-05-27 16 views
8

He estado usando el código en esta muestra para ayudar y esto funciona bien. http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/UIImage Rotation grados personalizados

no puedo entrenamiento cómo girar por una cantidad costumbre de grados entre 0 & 360 ....

+1

Recomiendo una etiqueta de iphone aquí ... –

+1

Etiqueta añadida iPhone –

+0

Gran parte del código. No hace rotación arbitraria, pero es eficiente y maneja la orientación de la imagen con el reflejo muy bien. –

Respuesta

14

Usted querrá hacer más o menos lo mismo que hace en ese puesto hace en rotación:

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

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

Es posible que necesite traducir el CTM además de girar para compensar el centro de rotación. Si no desea recortar los bordes de la imagen al girar, debe aumentar el tamaño con algunos trigonométricos básicos.

+0

¡Eso funciona genial! Ta –

+0

Hola, ¿qué es 'ctx'? – LouwHopley

+1

'ctx' es solo el contexto de gráficos. Actualicé la fuente para indicar eso. –