/ ¿Girar imagen en cuarzo? ¡La imagen está al revés! (iPhone): iPhone, Objective-C, imagen, rotación, gráficos de cuarzo

¿Girar imagen en cuarzo? ¡La imagen está al revés! (iPhone): iPhone, Objective-C, imagen, rotación, gráficos de cuarzo

  • No quiero transformar el contexto ENTERO.

Estoy haciendo un juego con Quartz, y estoy dibujando a mi jugador con líneas, rectas y elipses.

Y luego tengo diamong.png que representé en 0,0 en la parte superior izquierda de la pantalla.

El problema es...

Se rinde al revés!

¿Cómo lo giraría 180 grados?

Aquí está algo de mi código:

CGImageRef diamondImage = CGImageRetain([UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Diamond.png" ofType:nil]].CGImage);
CGContextDrawImage(context, CGRectMake(0, 0, 32, 24), diamondImage);

Si es de alguna ayuda, estoy usando el modo Paisaje, con el botón de inicio a la derecha. Se define tanto en mi lista y en mi ViewController "s

-shouldAutorotateToInterfaceOrientation: interfaceOrientation:

¿Cómo lo rotaría / transformaría?

Respuestas

5 para la respuesta № 1

¿Por qué no usar

[[UIImage imageWithContentsOfFile:…] drawInRect:CGRectMake(0, 0, 32, 24)];

? Esto cuida las transformadas de coordenadas para ti.


Si CGContextDrawImage debe ser utilizado, transformar todo el contexto es la única manera. Puedes restaurar al estado original usando:

CGContextSaveGState(context);
// transform ...
// draw ...
CGContextRestoreGState(context);