Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
38 changes: 22 additions & 16 deletions UIImage+BlurredFrame.m
Original file line number Diff line number Diff line change
Expand Up @@ -10,32 +10,38 @@

@implementation UIImage (BlurredFrame)

-(UIImage *)croppedImageAtFrame:(CGRect)frame
{
- (UIImage *)croppedImageAtFrame:(CGRect)frame {
frame = CGRectMake(frame.origin.x * self.scale, frame.origin.y * self.scale, frame.size.width * self.scale, frame.size.height * self.scale);
CGImageRef sourceImageRef = [self CGImage];
UIImage *rotatedImage = self;
// make sure its orientation is up otherwise later on we'll have trouble merging
// based on this gist: https://gist.github.com/aleph7/5717438
if (self.imageOrientation != UIImageOrientationUp) {
rotatedImage = [self addImageToImage:nil atRect:CGRectZero];
}
CGImageRef sourceImageRef = [rotatedImage CGImage];
CGImageRef newImageRef = CGImageCreateWithImageInRect(sourceImageRef, frame);
UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:[self scale] orientation:[self imageOrientation]];
UIImage *newImage = [UIImage imageWithCGImage:newImageRef scale:[self scale] orientation:UIImageOrientationUp];
CGImageRelease(newImageRef);
return newImage;
}

#pragma mark - Marge two Images
#pragma mark - Merge two Images

- (UIImage *) addImageToImage:(UIImage *)img atRect:(CGRect)cropRect{

CGSize size = CGSizeMake(self.size.width, self.size.height);
- (UIImage *)addImageToImage:(UIImage *)img atRect:(CGRect)cropRect {
CGSize size = self.size;
UIGraphicsBeginImageContextWithOptions(size, NO, self.scale);
CGPoint pointImg1 = CGPointMake(0,0);

CGPoint pointImg1 = CGPointMake(0, 0);
[self drawAtPoint:pointImg1];

CGPoint pointImg2 = cropRect.origin;
[img drawAtPoint: pointImg2];

UIImage* result = UIGraphicsGetImageFromCurrentImageContext();

if (img != nil && !CGRectEqualToRect(CGRectZero, cropRect)) {
CGPoint pointImg2 = cropRect.origin;
[img drawAtPoint:pointImg2];
}

UIImage *result = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

return result;
}

Expand Down