¿Cómo enmascarar una image en IOS sdk?

Quiero aplicar un filter de image o máscara cuando una palabra dibujada en la image. La palabra tendrá un efecto transparente para ver a través de la image de background. ¿Es posible en IOS sdk nativo o necesito diferentes API para realizar esto? Esta image consta de 2 imágenes. uno es donde se escribe la India, y otro es el que se ve a través de la carta de la India. Esta imagen consta de 2 imágenes. uno es donde se escribe la India, y otro es el que se ve a través de la carta de la India.

Este es el código que estoy usando para generar imágenes de text.

-(UIImage *)imageFromText:(NSString *)text{ // set the font type and size UIFont *font = [UIFont systemFontOfSize:100.0]; CGSize size = [text sizeWithFont:font]; // check if UIGraphicsBeginImageContextWithOptions is available (iOS is 4.0+) if (UIGraphicsBeginImageContextWithOptions != NULL) UIGraphicsBeginImageContextWithOptions(size,NO,0.0); else // iOS is < 4.0 UIGraphicsBeginImageContext(size); // optional: add a shadow, to avoid clipping the shadow you should make the context size bigger // CGContextRef ctx = UIGraphicsGetCurrentContext(); CGContextSetShadowWithColor(ctx, CGSizeMake(0.0, 1.0), 5.0, [[UIColor blackColor] CGColor]); CGContextSetBlendMode(ctx,kCGBlendModeNormal); CGContextSetFillColorWithColor(ctx, [UIColor whiteColor].CGColor); /*NSLog(@"Rect %@",CGContextGetClipBoundingBox(ctx)); CGImageRef alphaMask = CGBitmapContextCreateImage(ctx); CGContextClipToMask(ctx, CGContextGetClipBoundingBox(ctx), alphaMask);*/ // draw in context, you can use also drawInRect:withFont: [text drawAtPoint:CGPointMake(0.0, 0.0) withFont:font]; // transfer image UIImage *image = UIGraphicsGetImageFromCurrentImageContext(); UIGraphicsEndImageContext(); return image;} 

Está funcionando bien, sin embargo, necesito generar la image que tendrá un background negro y un text transparente para ver a través de él.

Puedes usar este código (obtenido de aquí ),

 - (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]; }