Advertisement
Guest User

Untitled

a guest
Apr 27th, 2017
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. @implementation UIImage (RotationMethods)
  2.  
  3. static CGFloat getRadianFromDegree(CGFloat degrees)
  4. {return degrees * M_PI / 180;};
  5.  
  6. - (UIImage *) rotateImageByDegree:(CGFloat)degrees
  7. {
  8.     UIView *rotatedImageView = [[UIView alloc] initWithFrame:CGRectMake(0,0,self.size.width, self.size.height)];
  9.     CGAffineTransform t = CGAffineTransformMakeRotation(getRadianFromDegree(degrees));
  10.     rotatedImageView.transform = t;
  11.     CGSize rotatedSize = rotatedImageView.frame.size;
  12.    
  13.     UIGraphicsBeginImageContextWithOptions(rotatedSize, NO, self.scale);
  14.     CGContextRef bitmap = UIGraphicsGetCurrentContext();
  15.     CGContextTranslateCTM(bitmap, rotatedSize.width/2, rotatedSize.height/2);
  16.     CGContextRotateCTM(bitmap, getRadianFromDegree(degrees));
  17.     CGContextScaleCTM(bitmap, 1.0, -1.0);
  18.     CGContextDrawImage(bitmap, CGRectMake(-self.size.width/2, -self.size.height/2, self.size.width, self.size.height), [self CGImage]);
  19.     UIImage *rotatedImage = UIGraphicsGetImageFromCurrentImageContext();
  20.     UIGraphicsEndImageContext();
  21.    
  22.     return rotatedImage;
  23. }
  24. @end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement