swift 修改图片亮度
方法:
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 = imagelet 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))!
如有需要解答,请留言