我想通过CIPhotoEffectNoir将图像转换为灰度,但是使用它后,图像会旋转。我搜索了很多,但答案无法解决我的问题。
这是我的代码:
func grayscale(image: UIImage) -> UIImage? {
let context = CIContext(options: nil)
if let filter = CIFilter(name: "CIPhotoEffectNoir") {
filter.setValue(CIImage(image: image), forKey: kCIInputImageKey)
if let output = filter.outputImage {
if let cgImage = context.createCGImage(output, from: output.extent) {
return UIImage(cgImage: cgImage)
}
}
}
return nil
}
前:
后:
我想要的是: