redribben icon

masking

redribben | PRO | 06/02/15 12:43:35 AM UTC | 0 ⭐ | 7651 👁️ | Never ⏰ | []
Objective C |

0 B

|

None

|

0 👍

/

0 👎

@synthesize croppedImage;
 
 
- (void)viewDidLoad {
    [super viewDidLoad];
    
    NSString *inputPath = [[NSBundle mainBundle] pathForResource:@"images" ofType:@"png"];
    NSString *maskPath = [[NSBundle mainBundle] pathForResource:@"Unknown" ofType:@"png"];
    UIImage *inputImage = [[UIImage alloc] initWithContentsOfFile:inputPath];
    UIImage *mask = [[UIImage alloc] initWithContentsOfFile:maskPath];
    UIImage *cutOut = [self maskImage:inputImage withMask:mask];
    croppedImage.image = cutOut;
}
 
- (UIImage*) maskImage:(UIImage *) image withMask:(UIImage *) mask
{
    CGImageRef imageReference = image.CGImage;
    CGImageRef maskReference = mask.CGImage;
    
    CGImageRef imageMask = CGImageMaskCreate(CGImageGetWidth(maskReference),
                                             CGImageGetHeight(maskReference),
                                             CGImageGetBitsPerComponent(maskReference),
                                             CGImageGetBitsPerPixel(maskReference),
                                             CGImageGetBytesPerRow(maskReference),
                                             CGImageGetDataProvider(maskReference),
                                             NULL, // Decode is null
                                             YES // Should interpolate
                                             );
    
    CGImageRef maskedReference = CGImageCreateWithMask(imageReference, imageMask);
    CGImageRelease(imageMask);
    
    UIImage *maskedImage = [UIImage imageWithCGImage:maskedReference];
    CGImageRelease(maskedReference);
    
    return maskedImage;
}

Comments

  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎

    
        
  •  icon
    01/01/70 12:00:00 AM UTC
    Plain Text |

    0 B

    |

    👍

    /

    👎