我有一个由CIImage支持的uiImage,它的ciImage属性不是nil。但是,如果我从此uiImage创建一个新的ciImage,它似乎为nil。是的,我知道我可以直接使用uiImage.ciImage属性,但是我只是想知道为什么这个失败。有什么帮助吗?我还需要很好的参考资料来解释所有这些Apple图像格式的内部细节和细节,欢迎提供好的文档或链接! 编辑:此问题不是重复的,因为它指出了UIImage到CIImge转换的问题,而不是反向。
if uiImage.ciImage == nil {
fatalError() // this one passes
}
let ciNew = CIImage(image: uiImage)
if ciNew == nil {
fatalError() // this gives fatal error !?
}
答案 0 :(得分:0)
是的,我知道我可以直接使用uiImage.ciImage属性,但是我只是想知道为什么这个失败。
因为CIImage init(image:)
用于将支持CGImage的UIImage转换为CIImage。那不是您所拥有的,没有任何可转换的东西。 CIImage已经通过图片的CIImage
属性存在;不需要任何其他访问方式。