Domanda

Sto portando un codice OSX in IOS e ho bisogno di accedere ai byte di un ciimage.La versione OSX lo fa con un nsbitmapimagerep, ma su ios ho bisogno di saltare attraverso alcuni cerchi.

Ecco il codice che sto provando a eseguire

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);
.

Funziona come previsto, ma dopo un po 'l'app si schianta.Non ho idea del perché.Sto prendendo un'ipotesi alla memoria della perdita di memoria / fuori limite.Per quanto posso dire tutto è essere liberato correttamente ... Se commendo quelle righe, niente si schianta.Se commento a CGDataProviderrelease di nuovo nell'app si schianta quasi immediatamente.

È stato utile?

Soluzione

Penso che tu abbia bisogno di cfrelease (cgimage) - hai usato "Crea" per crearlo no?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top