В настоящее время у меня есть NSData с допустимыми данными PNG:NSData* imageData = [bitmapRep representationUsingType:NSPNGFileType properties:nil];
Я записал эти данные в файл:[imageData writeToFile:@"test.png" atomically:YES];
И их сжатие с помощью OptiPNG или PNGCrush дает многообещающие результаты (сжатие 25%+).
Я хотел бы выполнить эту задачу в памяти, добавив категорию в NSData, чтобы включить что-то вроде:[imageData optimizePNGData]
Однако вызовы файловой системы глубоко встроены как в OptiPNG, так и в PNGCrush, поэтому ни один из них не подходит для сборки в виде библиотеки (например, optipng.a).
Есть ли у кого-нибудь идеи о том, как сделать что-то подобное, не полагаясь на вызовы exec, как это делают большинство оболочек GUI?