Библиотека для сжатия PNG во время выполнения на iOS - PullRequest
8 голосов
/ 20 марта 2012

Мне нужно иметь возможность сжимать файлы PNG во время выполнения, но я не могу найти ни одной библиотеки, готовой для iOS, которая могла бы это сделать. JPEG не очень подходит для меня, потому что мне нужен альфа-канал, который обеспечивает PNG, а JPEG нет. Превращение PNG в то, что я могу использовать в своем проекте iOS, вероятно, выходит за рамки моих навыков / знаний, когда дело доходит до C.

Просто чтобы прояснить ситуацию, мне нужно делать это во время выполнения, а не во время компиляции.

Ответы [ 3 ]

3 голосов
/ 20 марта 2012
1 голос
/ 27 марта 2012

Если у вас действительно нет другого пути, возможно, вы можете использовать UIImagePNGRepresentation таким образом, чтобы сохранить более тонкий файл PNG:

// load image from the one you created
UIImage *image = [UIImage imageNamed:@"your image name"];
// give it a new PNG representation from the API
NSData *pngImage = UIImagePNGRepresentation(image);
//save it to another place
NSError *error = nil;
[pngImage writeToFile:@"your path" options:NSDataWritingAtomic error:&error];

А затем посмотрите, будет ли новое изображение тоньше или нет. Этот метод работает на Mac: простое открытие файлов PNG и их экспорт в другой файл PNG может уменьшить его размер.

1 голос
/ 20 марта 2012
...