イメージを取得後にサイズを変更できます。ちょうど画像と画像の高さと幅を渡す。
[cell.imgview sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@",Image_URL2]] placeholderImage:[UIImage imageNamed:@"imagename"] completed:^(UIImage image, NSError error, SDImageCacheType cacheType, NSURL *imageURL) {
if (image) {
cell.imgview.image=[Utility compressImageDynamic:image hight:(360 [UIScreen mainScreen].bounds.size.width)/320 width:(360 [UIScreen mainScreen].bounds.size.width)/320];
}
else{
}
}];
以下は、reSizeイメージの機能です。
-(UIImage)compressImageDynamic:(UIImage)image hight:(float)x width:(float)y{
float actualHeight = image.size.height;
float actualWidth = image.size.width;
float maxHeight = x;
float maxWidth = y;
float imgRatio = actualWidth/actualHeight;
float maxRatio = maxWidth/maxHeight;
float compressionQuality = 1;//50 percent compression
if (actualHeight > maxHeight || actualWidth > maxWidth){
if(imgRatio < maxRatio){
//adjust width according to maxHeight
imgRatio = maxHeight/actualHeight;
actualWidth = imgRatio * actualWidth;
actualHeight = maxHeight;
}
else if(imgRatio > maxRatio){
//adjust height according to maxWidth
imgRatio = maxWidth/actualWidth;
actualHeight = imgRatio * actualHeight;
actualWidth = maxWidth;
}
else{
actualHeight = maxHeight;
actualWidth = maxWidth;
}
}else{
actualHeight = maxHeight;
actualWidth = maxWidth;
compressionQuality = 1;
}
CGRect rect = CGRectMake(0.0, 0.0, actualWidth, actualHeight);
UIGraphicsBeginImageContext(rect.size);
[image drawInRect:rect];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
NSData *imageData = UIImageJPEGRepresentation(img, compressionQuality);
UIGraphicsEndImageContext();
return [UIImage imageWithData:imageData];
}
これは私が思ったものですが、SDWebImageで実装する方法がわかりませんでした。右の1つ、ありがとう! –
申し訳ありませんが、後半の回答が、私はついにそれを試して、それは完全に動作するようです:)多くのありがとう! –