以图像中心为旋转轴旋转图像

boo*_*oom 1 cocoa

如何使用NSAffineTransform将一个图像旋转为旋转轴作为图像中心.

Rob*_*ger 7

您需要将原点转换为要旋转的点,执行旋转,然后将原点转换回原点:

@implementation NSAffineTransform (Rotation)
+ (NSAffineTransform *)transformRotatingAroundPoint:(NSPoint) p byDegrees:(CGFloat) deg
{
    NSAffineTransform * transform = [NSAffineTransform transform];
    [transform translateXBy: p.x yBy: p.y];
    [transform rotateByDegrees:deg];
    [transform translateXBy: -p.x yBy: -p.y];
    return transform;
}
@end
Run Code Online (Sandbox Code Playgroud)