访问CIImage字节,崩溃应用程序

时间:2012-07-26 19:11:49

标签: ios bitmap ciimage

我正在将一些OSX代码移植到iOS,需要访问CIImage的字节。 OSX版本使用NSBitmapImageRep执行此操作,但在iOS上我需要跳过一些箍。

这是我正在尝试运行的代码

CIContext *context = [CIContext contextWithOptions:nil];
CGImageRef cgImage = [context createCGImage:image fromRect:image.extent];
CGDataProviderRef provider = CGImageGetDataProvider(cgImage);
CFDataRef data = CGDataProviderCopyData(provider);

CGRect extent = [image extent];
//png.Load((UInt8*)CFDataGetBytePtr(data), extent.size.width, extent.size.height, true);

CFRelease(data);
//CGDataProviderRelease(provider);

它按预期工作,但一段时间后应用程序崩溃。我不知道为什么。我猜测内存泄漏/超出内存。据我所知,一切都正确被释放...如果我评论这些线,没有什么崩溃。如果我在应用程序中回复CGDataProviderRelease几乎立即崩溃。

1 个答案:

答案 0 :(得分:2)

我认为你需要CFRelease(cgImage) - 你用“create”创建它没有?