2011-12-26 22 views
8

Ok usando coregraphics, sto costruendo un'immagine che verrà successivamente utilizzata in un'operazione CGContextClipToMask. Sembra qualcosa di simile al seguente:Come ottenere un CGImageRef dalle immagini contestuali?

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

Ora, come si può vedere dal commento, mi chiedo come sto in realtà intenzione di utilizzare l'immagine che ho costruito su. Il motivo per cui sto usando la grafica di base qui e non solo la creazione di un UIImage è che la trasparenza che sto creando è molto importante. Se prendo una UIImmagine dal contesto, quando viene usata come maschera, si applicherà a tutto ... Oltre al punto, avrò problemi usando una maschera parzialmente trasparente usando questo metodo?

+0

possibile duplicato di [Disegno in CGImageRef] (http://stackoverflow.com/questions/4257043/drawing-into-cgimageref) –

risposta

12
CGImageRef result = CGBitmapContextCreateImage(UIGraphicsGetCurrentContext()); 
Problemi correlati