swift 图像蒙版,image mask

想实现一个图像蒙版的功能,实现效果如下。
swift 图像蒙版,image mask_第1张图片
swift 图像蒙版,image mask_第2张图片
swift 图像蒙版,image mask_第3张图片
首先需要准备点素材,可以是自己扣好的,或者随便找一个其他的也行。白色部分是保留的,黑色部分是被删掉的。
实现一个函数:

func maskImage(image: UIImage, mask: UIImage) -> UIImage {
    let imageRef = image.cgImage!
    let maskRef = mask.cgImage!
    let maskedRef = imageRef.masking(maskRef)
    return UIImage.init(cgImage: maskedRef!)
}

当然里边的一些代码还是要加一下保护的,避免直接崩溃。可以根据需要自行添加。
使用的时候

let image = UIImageView.init()
image.frame = .init(x: 0, y: 100, width: 375, height: 375)
image.image = maskImage(image: .init(named: "带背景图片")!, mask: .init(named: "蒙版图片")!)
image.contentMode = .scaleAspectFit

之后得到最终的效果。

你可能感兴趣的:(iOS开发,swift,开发语言,ios)