OStack程序员社区-中国程序员成长平台

标题: ios - 无法从 CIImage 获取图像数据 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 12:29
标题: ios - 无法从 CIImage 获取图像数据

我正在使用 CIImageCIFilter 进行图像过滤。之后,我试图通过 UIImageJPEGRepresentation 获取图像数据,但我得到的是空数据。

CIImage *beginImage = [[CIImage alloc] initWithImage:sourceImage];

CIContext *context = [CIContext contextWithOptions:nil];

CIFilter *filter = [CIFilter filterWithName:effect keysAndValues:kCIInputImageKey, beginImage, nil];

CIImage *outputImage = [filter outputImage];

CGImageRef cgimg = [context createCGImageutputImage fromRect:[outputImage extent]];

UIImage *filteredImage = [UIImage imageWithCIImageutputImage];
CGImageRelease(cgimg);

NSData *imageData = UIImageJPEGRepresentation(filteredImage, 1.0);

我在控制台 imageData 时得到空数据。请检查我上面的代码,让我知道我做错了什么。



Best Answer-推荐答案


你的问题是在这里你传递 CIImage

UIImage *filteredImage = [UIImage imageWithCIImageutputImage];

但是你需要在创建UIImage的时候通过CGImageRef这样写

 UIImage *filteredImage = [[UIImage alloc] initWithCGImage:cgimg];

希望对你有帮助

关于ios - 无法从 CIImage 获取图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40863167/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4