UIImage *image = [UIImage imageWithData: data]
я использую, но чем больше размер изображения с помощью четырех times.Original data.length = 100 KB, но этот изображение теперь имеет более чем 400 KB.You может сказать, чтобы завершить с компрессией. Но я не через следующий метод после сжатия data.length = 200 KB.NSData качества UIImage
Ниже мой путь
метод сжатия
// spend is size (KB)
- (NSData *)compressionImageData:(NSData *)data spend:(CGFloat)spend {
if (data.length < spend) {
return data; //no compression
}
UIImage *sourceImg = [UIImage imageWithData:data];
CGFloat compression = 0.9f;
CGFloat maxCompression = 0.1f;
NSData *imageData = UIImageJPEGRepresentation(sourceImg, compression);
while ([imageData length] > spend && compression > maxCompression) {
compression -= 0.1;
imageData = UIImageJPEGRepresentation(sourceImg, compression);
}
return imageData;
}
Скачать метод изображения:
- (void)loadPosterImage:(NSString *)imgURL {
weakSelf();
[[SDWebImageDownloader sharedDownloader] downloadImageWithURL:[NSURL URLWithString:imgURL]
options:SDWebImageDownloaderLowPriority
progress:^(NSInteger receivedSize, NSInteger expectedSize) {}
completed:^(UIImage *image, NSData *data, NSError *error, BOOL finished) {
strongSelf();
// image is through [UIImage imageWithData: data]
self.posterImage = image;
self.posterData = data;
}];
}
Размер изображения имеет более чем 500 КБ
data.lenght = 100KB
Это data.length изображения
Это изображение изображения
Есть ли способ поместить данные непосредственно в размер изображения и данных .length size – xsflyer
что вы пытаетесь достичь? – Adeel
что вы хотите сделать? – KKRocks