【问题标题】:Could anyone tell me why UIImage.ciimage is null谁能告诉我为什么 UIImage.ciimage 为空
【发布时间】:2018-01-01 13:11:47
【问题描述】:

我发现IOS中UIImage可以改成CIImage,而且UIImage中有一个属性CIImage。当我使用 UIImage 时,UIImage 对象不为空,但 UIImage.ciimage 为空,为什么?

如果有人可以帮助我,请原谅我的愚蠢问题,非常感谢。


添加

例如,下面的代码返回null:

UIImage *image = [UIImage imageNamed:@"test.jpg"];
CIImage *ciImage = image.CIImage

但如果这样CIImage不为空:

UIImage *image = [UIImage imageNamed:@"test.jpg"];
CIImage *myImage = [[CIImage alloc] initWithCGImage:image.CGImage options:nil];

【问题讨论】:

    标签: iphone ios


    【解决方案1】:

    这是因为这个 UIImage 实际上不是 CIImage。换句话说,UIImage 的 CIImage 不是 nil 只有当 UIImage 已经由 CIImage 支持时(例如,因为它是由 imageWithCIImage: 生成的)。您不能像您希望的那样使用它神奇地将 UIImage 转换为 CIImage。

    文档实际上对此非常清楚。永远值得一读。

    【讨论】:

    • @matt 那么如何从 UIImage 转换为 CIImage 呢?
    • @brimstone 使用 CIImage 的 initWithImage: 初始化器。
    • 我发现有时直接从 CIImage 转到 UIImage 并不总是有效。我将 CIImage 转换为 CGIImage,然后转换为 UIImage,它工作得很好。
    猜你喜欢
    • 2016-04-25
    • 2015-03-22
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 2017-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多