好的使用coregraphics,我正在构建一个稍后将用于CGContextClipToMask
操作的图像。它看起来像下面这样:
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();
现在,正如你在评论中看到的那样,我想知道我是如何实际使用我建立的图像的。我在这里使用核心图形而不仅仅是构建UIImage的原因是我正在创建的透明度非常重要。如果我只是从上下文中获取UIImage,当它被用作掩码时,它将仅适用于所有内容......更重要的是,使用此方法使用部分透明蒙版会有任何问题吗?
答案 0 :(得分:14)
CGImageRef result = CGBitmapContextCreateImage(UIGraphicsGetCurrentContext());
答案 1 :(得分:3)
你可以调用the UIGraphicsGetImageFromCurrentImageContext
function,它将返回一个UIImage对象。您可以保留并使用UIImage,或者询问它的CGImage。