gpt4 book ai didi

ios - 无法将 CIImage 保存到相机胶卷 - Swift 3

转载 作者:可可西里 更新时间:2023-11-01 00:47:16 25 4
gpt4 key购买 nike

我正在尝试对 CIImage 应用滤镜,它是从 AVCaptureSession 的像素缓冲区创建的,然后将其保存到相机胶卷。

这是我的代码

        let image = CIImage(cvPixelBuffer: pixelBuffer)

let filter = CIFilter(name: "CISepiaTone")
filter?.setValue(image, forKey: kCIInputImageKey)
filter?.setValue(0.1, forKey: kCIInputIntensityKey)

let newImage = UIImage(ciImage: (filter?.outputImage)!)

print ("new image: \(newImage)")

UIImageWriteToSavedPhotosAlbum(newImage, self, #selector(image(_:didFinishSavingWithError:contextInfo:)), nil)

这不会抛出任何错误,并且当调用 image(_:didFinishSavingWithError:contextInfo:) 时它没有错误

但是图像没有出现在我的库中。很困惑!任何帮助表示赞赏。

谢谢。

最佳答案

我也遇到过同样情况的这个问题并解决了。

我的方法是:先转为CGImage,再将CGImage对象转为UIImage,这样能不能成功保存处理后的图片到相册。

这是代码。

let input = CIImage(image: MyImageView.image!)
let filter = PinkyFilter() // My custom filter
filter.setValue(input, forKey: kCIInputImageKey)
let context = CIContext() // Prepare for create CGImage
let cgimg = context.createCGImage(filter.outputImage, from: filter.outputImage.extent)
let output = UIImage(cgImage: cgimg!)

然后输出是一个可保存的对象。

关于ios - 无法将 CIImage 保存到相机胶卷 - Swift 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41714785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com