0
Я хочу загрузить изображение на сервер. Но перед загрузкой я хочу сжать это изображение, а затем загрузить на сервер. Я не хочу загружать изображение более 2 мб. Я использовал эту логику, но если размер изображения большой, то он не работает. циклов, а также занимаемая память увеличилась до 1 Гб во время обработки.Сжатие изображения на момент загрузки
double compressionRatio=1;
NSData *imgData=UIImagePNGRepresentation(proImage.image,compressionRatio);
while ([imgData length]>50000) {
compressionRatio=compressionRatio*50;
imgData=UIImageJPEGRepresentation(proImage.image,compressionRatio);
}
Почему вы используете представление PNG, прежде чем 'while' цикла? И 'compressionRatio' должно быть между 0.0 (максимальное сжатие) и 1.0 (без сжатия). Документация - ваш друг: https://developer.apple.com/library/iOS/documentation/UIKit/Reference/UIKitFunctionReference/Reference/reference.html#//apple_ref/doc/uid/TP40006894-CH3-SW9 –
@rokjarc tell мне тогда как сжимать изображение перед отправкой его на сервер – vivek
2MB равно 2097152 байт, а не 50000 байт. –