来自UIImage的CIImage返回nil

时间:2018-12-11 18:28:31

标签: ios swift ciimage

我有一个由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 !?
    }

1 个答案:

答案 0 :(得分:0)

  

是的,我知道我可以直接使用uiImage.ciImage属性,但是我只是想知道为什么这个失败。

因为CIImage init(image:)用于将支持CGImage的UIImage转换为CIImage。那不是您所拥有的,没有任何可转换的东西。 CIImage已经通过图片的CIImage属性存在;不需要任何其他访问方式。