How to rotate an image 90 degrees on iOS? How to rotate an image 90 degrees on iOS? ios ios

How to rotate an image 90 degrees on iOS?


self.imageview.transform = CGAffineTransformMakeRotation(M_PI_2);

Swift 4+:

self.imageview.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi/2))


This is the complete code for rotation of image to any degree just add it to appropriate file ie in .m as below where you want to use the image processing

for .m

@interface UIImage (RotationMethods)- (UIImage *)imageRotatedByDegrees:(CGFloat)degrees;@end@implementation UIImage (RotationMethods)static CGFloat DegreesToRadians(CGFloat degrees) {return degrees * M_PI / 180;};- (UIImage *)imageRotatedByDegrees:(CGFloat)degrees {       // calculate the size of the rotated view's containing box for our drawing space    UIView *rotatedViewBox = [[UIView alloc] initWithFrame:CGRectMake(0,0,self.size.width, self.size.height)];    CGAffineTransform t = CGAffineTransformMakeRotation(DegreesToRadians(degrees));    rotatedViewBox.transform = t;    CGSize rotatedSize = rotatedViewBox.frame.size;    // Create the bitmap context    UIGraphicsBeginImageContext(rotatedSize);    CGContextRef bitmap = UIGraphicsGetCurrentContext();    // Move the origin to the middle of the image so we will rotate and scale around the center.    CGContextTranslateCTM(bitmap, rotatedSize.width/2, rotatedSize.height/2);    //   // Rotate the image context    CGContextRotateCTM(bitmap, DegreesToRadians(degrees));    // Now, draw the rotated/scaled image into the context    CGContextScaleCTM(bitmap, 1.0, -1.0);    CGContextDrawImage(bitmap, CGRectMake(-self.size.width / 2, -self.size.height / 2, self.size.width, self.size.height), [self CGImage]);    UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    UIGraphicsEndImageContext();    return newImage;}@end

This is the code snippet form apple's SquareCam example.

To call the above method just use the below code

UIImage *rotatedSquareImage = [square imageRotatedByDegrees:rotationDegrees];

Here the square is one UIImage and rotationDegrees is one flote ivar to rotate the image that degrees


Swift 3 and Swift 4 use .pi instead

eg:

//rotate 90 degreesmyImageView.transform = CGAffineTransform(rotationAngle: .pi / 2)//rotate 180 degreesmyImageView.transform = CGAffineTransform(rotationAngle: .pi)//rotate 270 degreesmyImageView.transform = CGAffineTransform(rotationAngle: .pi * 1.5)