Когда вы выбираете изображение для отправки по электронной почте с помощью библиотеки фотографий iPhone, это позволяет вам выбрать размер изображения (низкий, средний, высокий). Мой вопрос: как он рассчитывает окончательный размер изображения? Я пытаюсь сделать что-то похожее, но если я на самом деле делаю преобразование с использованием разных степеней сжатия (UIImageJPEGRepresentation), процесс будет очень медленным. Я предполагаю, что Apple делает какое-то приближение к исходному размеру PNG. Какие-нибудь мысли?
Пример медленной версии:
float size = [UIImagePNGRepresentation(self.image) length]/1024.0/1024.0;
NSString *high = [NSString stringWithFormat:@"High (%.2f %@)",size > 1 ? size : size * 1024.0,size > 1 ? @"MB" : @"KB"];
size = [UIImageJPEGRepresentation(self.image,0.9) length]/1024.0/1024.0;
NSString *medium = [NSString stringWithFormat:@"Medium (%.2f %@)",size > 1 ? size : size * 1024.0,size > 1 ? @"MB" : @"KB"];
и т.д.