Я в настоящее время загрузки изображения на сервер с помощью Imgur на прошивке с помощью следующего кода:Как сжать/изменить размер изображения на iPhone OS SDK перед загрузкой на сервер?
NSData* imageData = UIImagePNGRepresentation(image);
NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* fullPathToFile = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"SBTempImage.png"];
[imageData writeToFile:fullPathToFile atomically:NO];
[uploadRequest setFile:fullPathToFile forKey:@"image"];
кода работает нормально при запуске в тренажере и загрузить файл из библиотеки фотографий симулятора, потому что я на быстром Ethernet-соединении. Тем не менее, один и тот же код время на iPhone при выборе изображения, сделанные с iPhone. Итак, я попробовал это, сохранив небольшое изображение из Интернета и пытаясь загрузить его, что сработало.
Это приводит меня к тому, что большие изображения, сделанные iPhone, выходят за рамки медленной сети 3G. Есть ли способ сжать/изменить размер изображения с iPhone перед его отправкой?
Спасибо!
Это изменяет заявленную размер масштабируемого изображения, но фактически не изменяет данные изображения. Длина данных NSData, сгенерированных на оригинальном и масштабированном изображении, практически идентична. – 2012-03-15 16:43:17
Это не работает! Это не должно быть принятым ответом! Я только что реализовал его в своем приложении, чтобы узнать, что изображение, сжатое до 25% от исходного размера изображения, по-прежнему имеет такой же размер в байтах, что и оригинал. Я понятия не имею, почему так много upvotes или этот нерабочий ответ! – Michael 2013-02-18 17:16:13
не работает. масштабирует изображение, но оставляет данные в полном размере. – nont 2013-09-20 15:59:08