2016-04-10 2 views
0

Я использую SDWebImage, чтобы установить изображение как это:Кто изменил размер изображения? SDWebImage или ContentMode

[self.imageView sd_setImageWithURL:topicModel.large_image] 
     placeholderImage:nil 
     options:0 
     progress:^(NSInteger receivedSize, NSInteger expectedSize) { 

    } completed:^(UIImage *image, 
     NSError *error, 
     SDImageCacheType cacheType, 
     NSURL *imageURL) { 
}]; 

после этого я установить contentMode в ImageView по следующим образом:

if (topicModel.isBigPicture) { 
     self.imageView.contentMode = UIViewContentModeTop; 
     self.imageView.clipsToBounds = YES; 
    }else { 
     self.imageView.contentMode = UIViewContentModeScaleAspectFill; 
     self.imageView.clipsToBounds = NO; 
    } 

размер ImageView есть (355, 200) ,
размер изображения больше чем изображениеПросмотр как по ширине, так и по высоте.

Как мы все знаем,
Если темаМодель является bigPicture, то contentMode будет UIViewContentModeTop. UIViewContentModeTop остается одного и того же размера, только что настроенный.

Но я нахожу проблему?
В моем случае размер изображения преобразуется в (300, XXX), XXX, кажется, вычисляется по (image.realHeight * 300.0/image.realWidth)
На самом деле, я не изменяю размер изображения в своем проекте ,

Вот мой вопрос:
, что случилось с моим кодом?
Как сделать ширину изображения такой же, как ширина изображения?

ответ

0

И наконец, я нахожу ответ.
И причина в том, что я использую новейшую версию SDWebImage

Вот решение :-)

если вы хотите получить оригинальное изображение, вы должны изменить код в SDWebImage/SDWebImageDecoder.m так:

CGContextRelease(context); 
    //add this method 
    UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef]; 

    //delete this method 
    UIImage *decompressedImage = [UIImage imageWithCGImage:decompressedImageRef scale:image.scale orientation:image.imageOrientation]; 
    CGImageRelease(decompressedImageRef); 

    return decompressedImage; 
    } 

, если вы хотите узнать более подробную информацию, вы можете увидеть ссылку ниже
SDWebImage ---- Images from web-url too small when using v. 3.7.4 and above

Смежные вопросы