Так, используя 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 из контекста, то при использовании его в качестве маски он будет применяться ко всему... Далее, будут ли у меня проблемы с использованием частично прозрачной маски этим методом?