我正在尝试从CGDataProviderRef创建CGImageSourceRef。 CGDataProviderRef来自使用UIGraphicsGetImageFromCurrentImageContext创建的UIImage。当我这样做并检查我的图像源的状态时,它返回kCGImageStatusUnknownType。
我试过用kCGImageSourceTypeIdentifierHint给它一个提示,但无济于事。
有谁知道如何创建这个CGImageSource?
谢谢!
答案 0 :(得分:2)
您告诉消息来源您正在为其提供PNG数据,但事实并非如此。您从the CGImageGetDataProvider
function获得的数据提供商提供raw pixel data,而不是某种外部格式的数据。
CGImageSource的目的是将某些外部格式(如PNG)的数据解码为CGImages。它无法处理像素数据;如果您有像素数据,则只需create the CGImage from it directly。当然,鉴于你已经有了最终的图像,我不确定你为什么要尝试从任何类型的数据再次创建 。
如果您想要随后生成一些外部数据(例如,在您发布此图像之后,可能在另一个过程中)由CGImageSource重新加载,请使用CGImageDestination。