UIImage에 마스크를 씌워 특정 영역을 제외하고는 투명처리를 하는 방법입니다. 길게 설명할 필요없이 예제를 보시죠.
[code]CGImageRef imageRef = [[UIImage imageNamed:@”sample.jpg”] CGImage];
CGImageRef maskRef = [[UIImage imageNamed:@”mask.png”] 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);[/code]
결과적으로 위와 같이 마스크를 씌워 마스크 이외의 영역을 투명처리 할 수 있습니다.