有没有办法将 CIImage 转换为 NSData 而不将 CIImage 转换为 UIImage 或 CGImage?

TKa*_*ang 2 nsdata ios ciimage

有没有办法转换CIImageNSData而不转换CIImageUIImageCGImage

我正在尝试制作相机应用程序。捕获图像时,我使用 CIImage 处理图像以对图像进行过滤效果,编辑一些元数据并通过 PHAssetCreationRequest 保存它。

在此过程中,我将 imagedata 更改为 CIImage,将 CIImage 更改为 UIImage,将 UIImage 更改为 NSData。显然这需要时间,我想节省一些时间。

那么,有没有什么办法可以CIImageNSData不转换CIImageUIImageor 的情况下转换为CGImage

Ven*_*Rao 6

CIContext 有一个方法,JPEGRepresentationOfImage:colorSpace:options,可以在不转换为 UIImage 的情况下转换为 NSData。

CIContext *contextToUse = ...;
NSData *imageData = [contextToUse JPEGRepresentationOfImage:image colorSpace:... options:@{}];
Run Code Online (Sandbox Code Playgroud)