Как уменьшить UIImage в IOS по размеру данных

Я хочу уменьшитьUIImage вiOS.

Я видел другие вопросы ниже и их подход о том, как уменьшить изображение по размеру.Изменение размера изображения Objective-C
Как программно изменить размер изображения в головном компьютере в iphone
Самый простой способ изменить размер UIImage?

Все эти вопросы основаны на изменении размера изображения до определенного размера. В моем случае я хочу изменить размер / уменьшить масштаб изображения на основе максимального размера.

В качестве примера я бы хотел установить максимумNSData размер должен быть 500 кб. Я знаю, что могу получить размер изображения следующим образом: // Проверить размер возвращаемого изображения

NSData *imageData = UIImageJPEGRepresentation(image, 0.5);

// Log out the image size
NSLog(@"%lu KB",(imageData.length/1024));

То, что я хотел бы сделать, это некоторая форма цикла здесь. Если размер превышает максимальный размер, который я установил, я хотел бы немного уменьшить изображение, а затем проверить размер. Если размер все еще слишком велик, уменьшите его немного, затем проверьте еще раз, пока он не станет меньше установленного максимального размера.

Я не уверен, что лучший подход для этого. В идеале я не хочу все время уменьшать изображение до определенного размера, а лишь слегка уменьшать изображение каждый раз. Таким образом, я могу получить самое большое (размер ш / ч) самого изображения и его максимальный размер (в байтах). Если бы я уменьшил немного только за один раз, что было бы лучшим способом сделать это?

РЕДАКТИРОВАТЬ Для подтверждения я хочу изменить фактическое изображение, но изменить его размер так, чтобы он был меньше максимальногоNSData Длина. Например:
-ПроверитьNSData длина
-Если выше максимума я хочу передать UIImage в метод
-Затем перебрать этот метод, каждый раз слегка изменяя размер изображения
-До тех пор, пока это не ниже максимумаNSData длина, а затем вернуть изображение?

Ответы на вопрос(5)

Ваш ответ на вопрос