Skip to content

Instantly share code, notes, and snippets.

@sdpjswl
Created September 28, 2014 08:23
Show Gist options
  • Save sdpjswl/6030677450bb3b254d23 to your computer and use it in GitHub Desktop.
Save sdpjswl/6030677450bb3b254d23 to your computer and use it in GitHub Desktop.
UIImage category to create a masked image
//
// UIImage+Mask.h
// Golopo
//
// Created by Esense-15 on 22/09/14.
// Copyright (c) 2014 esense. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface UIImage (Mask)
+(UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage;
@end
//
// UIImage+Mask.m
// Golopo
//
// Created by Esense-15 on 22/09/14.
// Copyright (c) 2014 esense. All rights reserved.
//
#import "UIImage+Mask.h"
@implementation UIImage (Mask)
+(UIImage *)maskImage:(UIImage *)image withMask:(UIImage *)maskImage {
CGImageRef maskRef = maskImage.CGImage;
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
return [UIImage imageWithCGImage:masked];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment