2012-06-12 7 views
7

enter image description hereJak stworzyć własną maskę na iOS

Duplicate

więc nie negatywny moją reputację.

Moja maska ​​zdjęcie: enter image description here

moje wyjście jest: enter image description here

- (UIImage*)maskImage:(UIImage *)image withMask:(UIImage *)maskImage { 

    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); 
    CGImageRelease(mask); 
    return [UIImage imageWithCGImage:masked]; 
} 

Więc jak stworzyć maskę własnego wizerunku?

Dzięki ...

+2

Maska obraz powinien być w skali szarości w żaden kanał alfa. –

+0

Poinformuj mnie, jak edytować ten obraz w Photoshopie. – Mani

+2

Najpierw zapisz go jako .jpg, aby usunąć alfa. Następnie możesz zapisać go z powrotem do png. Ten obraz powinien już działać. Ale możesz również przekonwertować go na skalę szarości (ponieważ informacje o kolorze są odrzucane w tego rodzaju maskowaniu) przez obraz-> tryb-> odcienie szarości. –

Odpowiedz

5

Try konwersja obrazu do skali szarości bez alfa.

  • Zapisz jako .jpg, aby usunąć alfa. Następnie możesz zapisać go z powrotem do png. Ten obraz powinien już działać.

  • Konwersja do skali szarości (ponieważ informacje o kolorze są odrzucane w tego rodzaju maskowaniu) według obrazu-> mode-> greyscale.

enter image description here

+1

Tak, działa ... :) – Mani

+0

Znakomita praca świetna – Spynet