iOS-获取图像尺寸

<h1 style="margin: 0px; font-family: "lucida grande", "lucida sans unicode", lucida, helvetica, "Hiragino Sans GB", "Microsoft YaHei", "WenQuanYi Micro Hei", sans-serif; line-height: 1.8; color: rgb(47, 47, 47); text-rendering: optimizeLegibility; font-size: 26px;">在执行下述方法之前,我们要先导入头文件 #import <ImageIO/ImageIO.h></h1>
/**
 *  根据图片url获取图片尺寸 
 */
+ (CGSize)getImageSizeWithURL:(id)URL{    
    NSURL * url = nil;    
    if ([URL isKindOfClass:[NSURL class]]) {        
        url = URL;    
    }    
    if ([URL isKindOfClass:[NSString class]]) {        
        url = [NSURL URLWithString:URL];    
    }   
     if (!URL) {        
        return CGSizeZero;  // url不正确返回CGSizeZero    
    }    
    CGImageSourceRef imageSourceRef = CGImageSourceCreateWithURL((CFURLRef)url, NULL);    
    CGFloat width = 0, height = 0;       
    if (imageSourceRef) {        
        CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSourceRef, 0, NULL);               
        if (imageProperties != NULL) {                       
            CFNumberRef widthNumberRef = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth);          
            if (widthNumberRef != NULL) {                
                CFNumberGetValue(widthNumberRef, kCFNumberFloat64Type, &width);            
            }                       
            CFNumberRef heightNumberRef = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight);
            if (heightNumberRef != NULL) {
                CFNumberGetValue(heightNumberRef, kCFNumberFloat64Type, &height);
            }
            CFRelease(imageProperties);
        }
        CFRelease(imageSourceRef);    
    }    
    return CGSizeMake(width, height);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值