gpt4 book ai didi

ios - UIImageWriteToSavedPhotosAlbum 未保存

转载 作者:行者123 更新时间:2023-12-01 19:20:48 28 4
gpt4 key购买 nike

我正在尝试将 ImageView 中当前的图像保存到相机胶卷中。我尝试保存的图像通过 [mainImage setImage:outputImage]; 完美显示在 ImageView 中; 但是,当我尝试按下保存图像的按钮时:

- (IBAction)saveImage:(id)sender {

UIImageWriteToSavedPhotosAlbum([mainImage image], self, @selector(image:didFinishSavingWithError:contextInfo:), nil);

}

-(void)image:(UIImage*)image didFinishSavingWithError:(NSError *)error contextInfo:(void*)contextInfo{
NSLog(@"%@", [error localizedDescription]);
}

相机胶卷已空。我用的是iOS7模拟器。任何帮助将不胜感激!

编辑:断言也没有说什么。

~地毯嘶嘶声

最佳答案

这花了我一段时间才弄清楚......

我不太清楚为什么,但是如果您尝试保存的 UIImageCIImage 支持(即 image.cgImage == nil),UIImageWriteToSavedPhotosAlbum 会奇怪地成功完成,并在完成处理程序中出现 nil 错误对象,但照片中不会显示任何内容。

如果是这种情况,您可以将 UIImageCIImage 转换为 CGImage (Swift 4.1):

// this could also be made into an extension
func cgImage(from ciImage: CIImage) -> CGImage? {
let context = CIContext(options: nil)
return context.createCGImage(ciImage, from: ciImage.extent)
}

然后转换回UIImage(这两个步骤可以合并):

guard let ciImage = image.ciImage else { return }
guard let cgImage = cgImage(from: ciImage) else { return } // the above function

let newImage = UIImage(cgImage: cgImage) // ready to be saved!

我希望这个解决方案可以减轻某人因这个问题而给我带来的烦恼😬。

关于ios - UIImageWriteToSavedPhotosAlbum 未保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19914838/

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