8

私はこのサンプルのコードを使用して支援してきましたが、これはうまく機能します。 http://www.platinumball.net/blog/2009/03/30/iphone-uiimage-rotation-and-mirroring/

0から360の間のカスタムの角度で回転する方法をトレーニングできません。

4

1 に答える 1

14

その投稿でローテーションで行うのとほとんど同じことをしたいと思うでしょう:

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

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

回転の中心を補正するために、回転に加えて CTM を移動する必要がある場合もあります。回転時に画像の端をトリミングしたくない場合は、基本的な方法でサイズを大きくする必要があります。

于 2009-05-28T01:29:20.667 に答える