2010-05-01 122 views
3

从时代到时代,我必须知道图像的宽度和高度。我使用下面的代码:大小的图像

UIImage *imageU = [UIImage imageWithContentsOfFile:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"myImage.png"]]; 

CGFloat imageW = CGImageGetWidth(imageU.CGImage); 
CGFloat imageH = CGImageGetHeight(imageU.CGImage); 

我的问题是,如果有任何其他方式知道图像的宽度和高度,以像素为单位,而无需加载一个变量的图像,这可能消耗内存。可以直接从文件中读取尺寸而无需加载整个图像?

这必须适用于PNG和JPEG。

谢谢。

+1

不是你的问题的答案,但你知道UIImage有'size'属性,对吧? – 2010-05-01 21:28:20

+0

是的,我知道.... – SpaceDog 2010-05-02 01:59:07

回答

0

我不认为你可以在这个“免费”做,在内存使用方面来讲。您可以创建一个NSInputStream并读取/解析IHDR部分的数据(遵循@ KennyTM链接),然后丢弃所有内容。