Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- CGRect ClippedRect= CGRectMake(0, 150, 320.0, 230.0);//example numbers
- CGImageRef imageRef = CGImageCreateWithImageInRect([OriginalUIImage CGImage], ClippedRect);
- UIImage *resultUIImage=[[UIImage alloc]initWithCGImage:imageRef];
- - (UIImage*) maskImage:(UIImage *)image {
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
- UIImage *maskImage = [UIImage imageNamed:@"mask.png"];
- CGImageRef maskImageRef = [maskImage CGImage];
- // create a bitmap graphics context the size of the image
- CGContextRef mainViewContentContext = CGBitmapContextCreate (NULL, maskImage.size.width, maskImage.size.height, 8, 0, colorSpace, kCGImageAlphaPremultipliedLast);
- if (mainViewContentContext==NULL)
- return NULL;
- CGFloat ratio = 0;
- ratio = maskImage.size.width/ image.size.width;
- if(ratio * image.size.height < maskImage.size.height) {
- ratio = maskImage.size.height/ image.size.height;
- }
- CGRect rect1 = {{0, 0}, {maskImage.size.width, maskImage.size.height}};
- CGRect rect2 = {{-((image.size.width*ratio)-maskImage.size.width)/2 , -((image.size.height*ratio)-maskImage.size.height)/2}, {image.size.width*ratio, image.size.height*ratio}};
- CGContextClipToMask(mainViewContentContext, rect1, maskImageRef);
- CGContextDrawImage(mainViewContentContext, rect2, image.CGImage);
- // Create CGImageRef of the main view bitmap content, and then
- // release that bitmap context
- CGImageRef newImage = CGBitmapContextCreateImage(mainViewContentContext);
- CGContextRelease(mainViewContentContext);
- UIImage *theImage = [UIImage imageWithCGImage:newImage];
- CGImageRelease(newImage);
- // return the image
- return theImage;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement