Dobrze, używając grafiki, buduję obraz, który będzie później używany w operacji CGContextClipToMask
. To wygląda mniej więcej tak:Jak uzyskać obraz CGImageRef z obrazów kontekstowych?
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();
Teraz, jak widać po komentarzu, zastanawiam się, jak ja faktycznie zamiar użyć obrazu I został zbudowany w górę. Powodem, dla którego używam tutaj głównej grafiki, a nie tylko tworzeniem UIImage, jest to, że przezroczystość, którą tworzę, jest bardzo ważna. Jeśli po prostu pobieram UIImage z kontekstu, gdy jest on używany jako maska, będzie on dotyczył wszystkiego ... Co więcej, czy będę miał problemy z używaniem częściowo przezroczystej maski przy użyciu tej metody?
możliwy duplikat [Rysowanie w CGImageRef] (http://stackoverflow.com/questions/4257043/drawing-into-cgimageref) –