2010-05-01 173 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鏈接),然後丟棄所有內容。