Sto provando a creare una maschera immagine che da un composito di due immagini esistenti.Creazione di una maschera con CGImageMaskCreate è tutto nero (iphone)
Prima che inizia con la creazione del composito che consiste di una piccola immagine che rappresenta l'immagine della chiusura, ed un'immagine ingrandita che è la stessa dimensione come sfondo:
UIImage * BaseTextureImage = [UIImage imageNamed:@"background.png"];
UIImage * MaskImage = [UIImage imageNamed:@"my_mask.jpg"];
UIImage * ShapesBase = [UIImage imageNamed:@"largerimage.jpg"];
UIImage * MaskImageFull;
CGSize finalSize = CGSizeMake(480.0, 320.0);
UIGraphicsBeginImageContext(finalSize);
[ShapesBase drawInRect:CGRectMake(0, 0, 480, 320)];
[MaskImage drawInRect:CGRectMake(150, 50, 250, 250)];
MaskImageFull = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
posso uscita questo UIImage (MaskImageFull) e sembra giusto, è una dimensione di sfondo a tutto schermo ed è uno sfondo bianco con il mio oggetto maschera in nero, nel posto giusto sullo schermo.
Ho poi passare il MaskImageFull UIImage attraverso questo:
CGImageRef maskRef = [maskImage CGImage];
CGImageRef mask = CGImageMaskCreate(CGImageGetWidth(maskRef),
CGImageGetHeight(maskRef),
CGImageGetBitsPerComponent(maskRef),
CGImageGetBitsPerPixel(maskRef),
CGImageGetBytesPerRow(maskRef),
CGImageGetDataProvider(maskRef), NULL, false);
CGImageRef masked = CGImageCreateWithMask([image CGImage], mask);
UIImage* retImage= [UIImage imageWithCGImage:masked];
Il problema è che il retImage è tutto nero. Se invio una UIImage preimpostata come maschera funziona correttamente, è proprio quando provo a farla da più immagini che si rompe.
Ho pensato che fosse una cosa dello spazio dei colori ma non riuscivo a risolverlo. Ogni aiuto è molto apprezzato!
Mi ha aiutato moltissimo. Potresti aggiungere l'intestazione e il piè di pagina della funzione per completarla? – Eden
Che cosa è thumbnailPoint.x esattamente ??! @catlan –
@ Reza.Abbiace, non ricordo. ridimensionato * sembra strano anche 9 anni dopo. Presumo nella maggior parte dei casi la maschera rect e l'immagine rect dovrebbe essere la stessa. Per favore provalo e facci sapere cosa trovi, – catlan