使用濾鏡調(diào)節(jié)照片的飽和度、亮度和對比度值,再調(diào)整曝光度實(shí)現(xiàn)效果:

原圖

處理后的
CIFilter的CIColorControls調(diào)整飽和度,亮度和對比度值。
kCIInputSaturationKey 飽和度
kCIInputBrightnessKey 亮度
kCIInputContrastKey 對比度
CIFilter的CIExposureAdjust曝光調(diào)整
kCIInputEVKey 曝光度
extension UIImage {
func lj_blackAndWhite() -> UIImage? {
guard let beginImage = CIImage(image: self) else {
return nil
}
let parameters = [kCIInputImageKey : beginImage,
kCIInputBrightnessKey : 0.0,
kCIInputContrastKey : 1.1,
kCIInputSaturationKey : 0.0] as [String : Any]
let blackAndWhite = CIFilter(name: "CIColorControls",
withInputParameters: parameters)?.outputImage
let outputParam = [kCIInputImageKey : blackAndWhite as Any,
kCIInputEVKey: 0.7] as [String : Any]
let output = CIFilter(name: "CIExposureAdjust", withInputParameters: outputParam)?.outputImage
guard let outputCI = output else {
return nil
}
let context = CIContext(options: nil)
guard let cgimage = context.createCGImage(outputCI, from: outputCI.extent) else {
return nil
}
return UIImage(cgImage: cgimage, scale: 0, orientation: self.imageOrientation)
}
}