코딩하는 나귀

*주의 : 원본 이미지에서 마스크 부분을 제외한 영역(표시하지 않을 부분)은 흰색으로 표시해야 한다.
             동적으로 흰색부분을 적용하기 위해서는 블로그 내용 중 이미지 합치기에 대한 부분을 참고하시면
             됩니다.

UIImage* ImageMasked(UIImage* image, UIImage* maskImage)

{

CGImageRef imageRef = [image CGImage];

CGImageRef maskRef = [maskImage CGImage];

    

CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),

CGImageGetHeight(maskRef),

CGImageGetBitsPerComponent(maskRef),

CGImageGetBitsPerPixel(maskRef),

CGImageGetBytesPerRow(maskRef),

CGImageGetDataProvider(maskRef),

NULL, false);

    

CGImageRef masked = CGImageCreateWithMask(imageRef, mask);

CGImageRelease(mask);

    

UIImage *maskedImage = [UIImage imageWithCGImage:masked];

CGImageRelease(masked);

return maskedImage;

}