- 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);