0
OSX 코드를 iOS로 이식하고 CIImage의 바이트에 액세스해야합니다. OSX 버전은 NSBitmapImageRep을 사용하여이 작업을 수행하지만 iOS에서는 약간의 작업을 수행해야합니다. 여기 CIImage 바이트에 액세스하면 애플리케이션이 깨집니다.
내가 예상대로 작동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 다시 거의 즉시 응용 프로그램에서 충돌 댓글.
나는 바보가된다. 그것은 문제였습니다. CFRelease (cgImage)를 사용하면 앱이 더 안정적으로 유지되지만 여전히 충돌이 발생합니다 (하지만 이제는 충돌이 두 번 걸립니다). 나는 거기에 다른 것이 있는지 없는지 모른다. –
Instruments, Leaks 및 Object Alloc을 사용하여 프로젝트를 실행한다. 당신은 아마도 유출 정보의 한 종류를 발견 할 것이다. 그다지 사용하기가 어렵지 않습니다. –
감사합니다. dave! 나는 지금 Instrument에서 무릎 깊숙이 있습니다. 나는 내가 여기에서 그것을 가져갈 수 있다고 생각한다. –