/ / Quartzで画像を回転させる?画像が逆さまです! (iPhone) - iphone、客観的c、イメージ、回転、クォーツグラフィック

Quartzで画像を回転させますか?画像は上下が逆です! (iPhone) - iphone、objective-c、image、rotation、quartz-graphics

  • 私は全体の文脈を変えたくない。

私はQuartzでゲームをしています、そして私はプレーヤーを線、四角形、楕円で描きます。

それから私はdiamong.pngを持っていて、それをスクリーンの左上の0,0にレンダリングしました。

問題は・・・

逆さまにレンダリングされます。

180度回転させるにはどうすればいいですか。

これが私のコードの一部です。

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

それが何か助けになるならば、私は横のモードで、ホームボタンを右に使っています。それは私の.plistと私のViewControllerの両方で定義されています。

-shouldAutorotateToInterfaceOrientation:interfaceOrientation:

それをどのように回転/変換しますか?

回答:

回答№1は5

なぜ使わないの?

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

?これは座標変換の面倒を見ます。


もし CGContextDrawImage コンテキスト全体を変換することが唯一の方法です。以下を使用して元の状態に復元することができます。

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