方法:

 lazy var context: CIContext = {
        return CIContext(options: nil)
    }()
    
  override func viewDidLoad() {
        super.viewDidLoad()
        let img = self.setLightValue( UIImage(named: "testimage")!)

}

func setLightValue(_ image : UIImage) ->UIImage{
        let imageOld = image
        let inputImage = CIImage(image: imageOld)
        let filter = CIFilter(name: "CIExposureAdjust")!
        filter.setValue(inputImage, forKey: kCIInputImageKey)
        filter.setValue((1.1), forKey: kCIInputEVKey) // 增加亮度,1.0是默认值,你可以调整这个值来增加或减少亮度
        let outputImage = filter.outputImage!
        let cgimage = context.createCGImage(outputImage, from: CGRect(origin: .zero, size: image.size))!

        return UIImage(cgImage: cgimage)
    }
    

使用:

let img = self.setLightValue( UIImage(named: "testimage")!)

注意:

filter.setValue((1.1), forKey: kCIInputEVKey)

可根据需要调整亮度

如不起效果,尝试修改方法中的 CGRect():

        let cgimage = context.createCGImage(outputImage, from: CGRect(origin: .zero, size: image.size))!

如有需要解答,请留言

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐