Acceso a la aplicación Ciimage Bytes, choques
Pregunta
Estoy transmitiendo un código OSX a iOS y necesita acceder a los bytes de un CIIMAGE.La versión OSX hace esto con un NSBITMAPIMAGEREP, pero en iOS necesito saltar a través de algunos aros.
Aquí está el código que estoy tratando de ejecutar
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);
funciona como se esperaba, pero después de un tiempo la aplicación se bloquea.No tengo ni idea de porqué.Estoy tomando una conjetura en la memoria de la memoria / la memoria fuera de los límites.Por lo que puedo decir, todo está siendo liberado correctamente ... Si comento esas líneas, nada se estrella.Si comento a CGDATAPROVIDERRELEASEAR en la aplicación se bloquea casi de inmediato.
Solución
Creo que necesitas CFRELEASE (CGImage): usaste "Crear" para crearlo no?
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow