2017-03-22 76 views
1

如何從iOS圖像資源讀取原始文件數據?從iOS圖像資產讀取文件數據

例如含 「圖像」 imageset:

  1. 圖標-1x.png
  2. 圖標-2x.png
  3. 圖標-3x.png

如何使用NSBundle或其他加載原始PNG文件數據(而不是解碼圖像數據)的方法,例如icon-1x.png?

+0

是否icon-1x.png對於圖標2x或不同圖像是相同的? –

+0

@AntonyRaphel不同 – stojanman

回答

0

商店名稱爲圖標1x.png,圖標2x.png和圖標3x.png在圖像的圖像set.then用這樣的循環嘗試,

for (int i = 1; i <= 3; i++) { 
    NSString *imgName = [NSString stringWithFormat:@"icon-%dx.png", i]; 
    UIImage *img = [UIImage imageNamed:imgName]; 
    NSData *pngData = UIImagePNGRepresentation(img); // Convert it in to PNG data 
} 

否則,你可以從標籤獲取的imageView。然後傳遞該標籤值,如下所示:

NSString *imgName = [NSString stringWithFormat:@"icon-%dx.png", imageView.tag]; 
UIImage *img = [UIImage imageNamed:imgName]; 
NSData *pngData = UIImagePNGRepresentation(img); // Convert it in to PNG data 
+0

這不會幫助我,因爲它不會給我PNG數據(如打開文件),而是它解碼圖像。 – stojanman

+0

更新了ans –

+0

不幸的是,這並沒有解決我的問題。 UIImagePNGRepresentation函數將內存中的位圖轉換爲PNG,該PNG與文件中的PNG字節不同。 :) – stojanman