2009-05-27 5 views
8

私はこのサンプルでこのコードを使用しています。これはうまくいきます。 http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/UIImageローテーションのカスタム度

私は0 & 360の間度のカスタム量によって回転する方法をトレーニングすることはできません....

+1

ここにiphoneタグをお勧めします... –

+1

追加されたタグiPhone –

+0

コードの大部分。任意の回転はしませんが、効率的で、ミラーリングを使用して画像の向きをうまく処理します。 –

答えて

14

あなたはそのポストのようにほとんど同じものをしたいと思うでしょうが回転して行います。

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

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

回転の中心を補正するために、回転に加えてCTMも翻訳する必要があります。回転時に画像のエッジをトリミングしないようにするには、基本的なトリグを使用してサイズを大きくする必要があります。

+0

それは素晴らしい作品です! Ta –

+0

こんにちは、 'ctx'とは何ですか? – LouwHopley

+1

'ctx'は単なるグラフィックスコンテキストです。それを示すためにソースを更新しました。 –

関連する問題