一直都在找关于获取网络图片的大小的方法, 今天找到了一个能解决的办法 ,如下
1, 导入框架
#import <ImageIO/ImageIO.h>
2. 使用此方法得到image的size
- (CGSize)getImageSizeWithURL:(NSURL *)url { CGImageSourceRef imageSource = CGImageSourceCreateWithURL((CFURLRef)url, NULL); CGFloat width = 0.0f, height = 0.0f; if (imageSource) { CFDictionaryRef imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, NULL); if (imageProperties != NULL) { CFNumberRef widthNum = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelWidth); if (widthNum != NULL) { CFNumberGetValue(widthNum, kCFNumberFloatType, &width); } CFNumberRef heightNum = CFDictionaryGetValue(imageProperties, kCGImagePropertyPixelHeight); if (heightNum != NULL) { CFNumberGetValue(heightNum, kCFNumberFloatType, &height); } CFRelease(imageProperties); } CFRelease(imageSource); NSLog(@"Image dimensions: %.0f x %.0f px", width, height); } return CGSizeMake(width, height); }
时间: 2024-10-10 00:28:09