Я искал a UIImage
в iOS
.
Я видел другие вопросы ниже и их подход к тому, как уменьшить размер изображения по размеру.
Изменение размеров изображений Objective-C
Как изменить размер изображения программно в objective-c в iphone
Самый простой способ изменить размер UIImage?
Все эти вопросы основаны на изменении размера изображения до определенного размера. В моем случае я хочу изменить размер/уменьшить масштаб изображения на основе максимального размера.
В качестве примера я хотел бы установить максимальный размер NSData
размером 500 КБ. Я знаю, что я могу получить размер изображения следующим образом://Проверьте размер возвращенного изображения
NSData *imageData = UIImageJPEGRepresentation(image, 0.5);
// Log out the image size
NSLog(@"%lu KB",(imageData.length/1024));
То, что я хотел бы сделать, это какая-то форма цикла здесь. Если размер больше, чем максимальный размер, который я установил, я хотел бы немного уменьшить изображение, а затем проверить размер. Если размер по-прежнему слишком сильно уменьшен, то снова проверьте его, пока он не станет меньше максимального установленного размера.
Я не уверен, какой лучший подход для этого. В идеале я не хочу масштабировать изображение до определенного размера все время, но только слегка уменьшает изображение каждый раз. Таким образом, у меня может быть самый большой (размер w/h) самого изображения и максимальный размер (байты). Если я немного уменьшусь только за раз, что было бы лучшим способом для этого?
ИЗМЕНИТЬ
Чтобы подтвердить, я ищу, чтобы изменить размер фактического изображения, но измените размер изображения так, чтобы оно было меньше максимальной длины NSData
.
Например:
-Проверьте длину NSData
-Если выше максимума я хочу передать UIImage в метод
-После этого метода немного измените размер фактического изображения каждый раз
-Уделяется ли она максимальной длиной NSData
, а затем возвращает изображение?