- Eu não quero transformar o contexto INTEIRO.
Eu estou fazendo um jogo com o Quartz, e estou desenhando meu player com linhas, retas e elipses.
E então eu tenho diamong.png que eu processei em 0,0 no canto superior esquerdo da tela.
Problema é ...
Ele fica de cabeça para baixo!
Como eu giraria 180 graus?
Aqui está um pouco do meu código:
CGImageRef diamondImage = CGImageRetain([UIImage imageWithContentsOfFile: [[NSBundle mainBundle] pathForResource:@"Diamond.png" ofType:nil]].CGImage);
CGContextDrawImage(context, CGRectMake(0, 0, 32, 24), diamondImage);
Se for de alguma ajuda, estou usando o modo Paisagem, com o botão home à direita. Ele é definido tanto no meu .plist como no meu ViewController.
-shouldAutorotateToInterfaceOrientation: interfaceOrientation:
Como eu giraria / transformaria?
Respostas:
5 para resposta № 1Por que não usar
[[UIImage imageWithContentsOfFile:…] drawInRect:CGRectMake(0, 0, 32, 24)];
? Isto toma cuidado da coordenada transforma para você.
E se CGContextDrawImage
deve ser usado, transformando todo o contexto é o único caminho. Você pode restaurar para o estado original usando:
CGContextSaveGState(context);
// transform ...
// draw ...
CGContextRestoreGState(context);