如何正确添加蒙版图像?

时间:2021-05-13 07:29:19

标签: ios swift iphone image mask

我想在图像上添加灯光效果。我已经掩盖了,这是我的形象enter image description here

为此,我有使用遮罩图像的代码

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
    }

结果就是这样 enter image description here 它只会变成白色 请帮帮我

1 个答案:

答案 0 :(得分:0)

我假设您想删除黑色背景并只显示镜头光晕。为此,您可以使用屏幕混合模式。

func filteredImage(image: UIImage, effect: UIImage) -> UIImage? {

    guard let imageReference = CIImage(image: image),
          let effectReference = CIImage(image: effect) else {
        return nil
    }

    let filteredCIImage = effectReference.applyingFilter(
        "CIScreenBlendMode",
        parameters: [kCIInputBackgroundImageKey: imageReference]
    )

    let filteredImage = UIImage(ciImage: filteredCIImage)

    return filteredImage
}
相关问题