Comment get un CGImageRef à partir d'images contextuelles?

Ok en utilisant coregraphics, je construis une image qui sera utilisée plus tard dans une opération CGContextClipToMask . Cela ressemble à quelque chose comme:

  UIImage *eyes = [UIImage imageNamed:@"eyes"]; UIImage *mouth = [UIImage imageNamed:@"mouth"]; UIGraphicsBeginImageContext(CGSizeMake(150, 150)); CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetRGBFillColor(context, 0, 0, 0, 1); CGContextFillRect(context, bounds); [eyes drawInRect:bounds blendMode:kCGBlendModeMultiply alpha:1]; [mouth drawInRect:bounds blendMode:kCGBlendModeMultiply alpha:1]; // how can i now get a CGImageRef here to use in a masking operation? UIGraphicsEndImageContext(); 

Maintenant, comme vous pouvez le voir par le commentaire, je me request comment je vais utiliser l'image que j'ai créée. La raison pour laquelle j'utilise des graphismes de base ici et pas seulement pour build un UIImage est que la transparence que je crée est très importante. Si je prends juste un UIImage du context, quand il est utilisé comme un masque, il s'appliquera à tout … En plus, aurai-je des problèmes pour utiliser un masque partiellement transparent en utilisant cette méthode?

 CGImageRef result = CGBitmapContextCreateImage(UIGraphicsGetCurrentContext()); 

Vous pouvez appeler la fonction UIGraphicsGetImageFromCurrentImageContext , qui returnnera un object UIImage. Vous pouvez conserver et utiliser le UIImage, ou le requestr pour son CGImage.