/ Published in: Objective C
Expand |
Embed | Plain Text
- (UIImage *) rotateImage:(UIImage *)img angle:(int)angle { CGImageRef imgRef = [img CGImage]; CGContextRef context; switch (angle) { case 90: UIGraphicsBeginImageContext(CGSizeMake(img.size.height, img.size.width)); context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, img.size.height, img.size.width); CGContextScaleCTM(context, 1.0, -1.0); CGContextRotateCTM(context, M_PI/2.0); break; case 180: UIGraphicsBeginImageContext(CGSizeMake(img.size.width, img.size.height)); context = UIGraphicsGetCurrentContext(); CGContextTranslateCTM(context, img.size.width, 0); CGContextScaleCTM(context, 1.0, -1.0); CGContextRotateCTM(context, -M_PI); break; case 270: UIGraphicsBeginImageContext(CGSizeMake(img.size.height, img.size.width)); context = UIGraphicsGetCurrentContext(); CGContextScaleCTM(context, 1.0, -1.0); CGContextRotateCTM(context, -M_PI/2.0); break; default: NSLog(@"you can select an angle of 90, 180, 270"); return nil; } CGContextDrawImage(context, CGRectMake(0, 0, img.size.width, img.size.height), imgRef); UIImage *ret = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return ret; }
You need to login to post a comment.
