我試圖用ios中的掩碼在自定義形狀模式下創建配置文件圖片圖像。下面就是我用來創建模板圖像:ios中的掩蔽UIImage
- (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 maskedImageRef = CGImageCreateWithMask([image CGImage], mask);
UIImage *maskedImage = [UIImage imageWithCGImage:maskedImageRef];
CGImageRelease(mask);
CGImageRelease(maskedImageRef);
// returns new image with mask applied
return maskedImage;
}
實施情況,我打電話後:*(_ profileImage是全球性的UIImage)
UIImage *maskImage = [UIImage imageNamed:@"maskProfilePicture.png"];
UIImage *maskedImage = [self maskImage:_profileImage withMask:maskImage];
和結果(圖片應該在子視圖中添加的面具,但現在看來,在圖像需要被屏蔽掩模圖像重疊):
掩蔽圖像:(或許掩蓋圖像性能AR就大錯特錯了,我在Photoshop中創建:)
核心圖形調用看起來是正確的。你可以發佈你使用的蒙版圖像嗎?根據文檔,它必須位於DeviceGray顏色空間中,並且不得有alpha組件。 –
我已經添加蒙版圖像,但它是白色的,這就是爲什麼它似乎沒有什麼:)) –
天真的評論:不應該面具是黑色的? –