【问题标题】:Getting half size of UIImage from URL by Afnetworking 2.0通过 Afnetworking 2.0 从 URL 获取一半大小的 UIImage
【发布时间】:2014-10-28 07:14:39
【问题描述】:

我正在执行以下操作来确定块期间下载图像的大小,然后我将相应地设置 uiimageview 的大小。 如何通过 Afnetworking 获取 UIImage 的实际大小,请帮助我。

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString: str1]];

__weak UIImageView *weakImageView = cell.imageView;

[cell.imageView  setImageWithURLRequest:request
                       placeholderImage:[UIImage imageNamed:@"Plceholder-50X60.png"]
                                success:^(NSURLRequest *request, NSHTTPURLResponse *response, UIImage *image)
 {
     NSLog(@"image = %f, imageheight = %f", image.size.width, image.size.height);

     UIImageView *strongImageView = weakImageView; //make local strong reference to protect against race conditions
     if (!strongImageView) return;

 }failure:^(NSURLRequest *request, NSHTTPURLResponse *response, NSError *error){
     NSLog(@"Request failed with error: %@", error);
 }];

【问题讨论】:

    标签: objective-c iphone afnetworking-2


    【解决方案1】:

    图像的大小取决于磁盘上图像文件的名称。

    如果文件的名称是Plceholder-50X60.png,它的实际大小是image.sizeimage.scale 1.0,但如果它的名称是Plceholder-50X60@2x.png,它的实际大小是CGSizeMake(image.size.width*image.scale, image.size.height*image.scale)image.scale 2.0。

    诀窍在imageNamed:方法中,见imageNamed:的参考:

    在运行 iOS 4 或更高版本的设备上,如果 设备的屏幕比例为 1.0。如果屏幕的比例为 2.0, 此方法首先搜索具有相同文件名的图像文件 附加一个@2x 后缀。例如,如果文件名是 按钮,它首先搜索按钮@2x。如果找到 2x,则加载 该图像并设置返回的 UIImage 对象的 scale 属性 到 2.0。否则,它会加载未修改的文件名并设置比例 属性为 1.0。

    结论:无论图片文件的名称是什么,都可以使用CGSizeMake(image.size.width*image.scale, image.size.height*image.scale)获取图片的实际大小。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-03
      • 2014-06-08
      • 2016-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多