convertire ciimage in formato scrivibile
-
25-10-2019 - |
Domanda
Ho bisogno di convertire CIImage
in un formato che può essere scritti su disco.
Attualmente sto usando il seguente codice per convertirlo in formato JPG.
NSBitmapImageRep* rep = [[[NSBitmapImageRep alloc] initWithCIImage:result] autorelease];
NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES];
Ma la memoria reale di utilizzo germogli fino a oltre i 100 MB. La mia applicazione mi richiede di gestire un gran numero di immagini quindi ho bisogno di ottimizzare il mio utilizzo della memoria.
Qualcuno può suggerire qualcosa ???
Soluzione
Se è la memoria cumulativa che è un problema, e non una sola immagine, si può provare avvolgendo le ultime due righe nella propria piscina autorelease:
@autoreleasepool {
NSData *JPEGData = [rep representationUsingType:NSJPEGFileType properties:nil];
[JPEGData writeToFile:targetPath atomically:YES];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow