Как замаскировать изображение в IOS sdk?

Я хочу применить фильтр изображения или маску, когда слово нарисовано на изображении. Слово будет иметь эффект прозрачности, чтобы видеть сквозь фоновое изображение. Возможно ли это в родном IOS sdk или мне нужен другой API для этого. Это изображение состоит из 2 изображений. на одном написано Индия, а на другом видно сквозь письмо Индии.This image consist of 2 images. one is where India is written over, and another one is which is see through the India letter.

Это код, который я использую для создания изображения из текста.

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

Он работает нормально, однако мне нужно сгенерировать изображение с черным фоном и прозрачным текстом, чтобы видеть сквозь него.

9
задан arindam 27 March 2012 в 12:11
поделиться