Как замаскировать изображение и сделать белый прозрачным в Swift 3?
Итак, я написал код для маскировки изображения
func maskImage(image:UIImage, mask:(UIImage))->UIImage{
let imageReference = image.cgImage!
let maskReference = mask.cgImage!
let imageMask = CGImage(maskWidth: maskReference.width,
height: maskReference.height,
bitsPerComponent: maskReference.bitsPerComponent,
bitsPerPixel: maskReference.bitsPerPixel,
bytesPerRow: maskReference.bytesPerRow,
provider: maskReference.dataProvider!, decode: nil, shouldInterpolate: true)
let maskedReference = imageReference.masking(imageMask!)
let maskedImage = UIImage(cgImage:maskedReference!)
return maskedImage
}
Маска - это просто диагональная линия, половина экрана черная, а другая - белая.
Желаемый эффект состоит в том, чтобы иметь изображение под этим замаскированным изображением, чтобы половина изображения была одним изображением, а другая половина - другим изображением.
Однако я вижу, что когда я возвращаю CGImage, мое изображение верхнего слоя просвечивает везде, где моя маска черная, но вместо того, чтобы быть прозрачной, когда она на белом, она белая.
Как я могу сделать белые прозрачными? Благодарю.