2017-03-22 6 views
1

Comment puis-je lire les données de fichier brut à partir des ressources d'image iOS?Lire des données de fichier à partir d'éléments d'image iOS

Par exemple, une "image" imageset contenant:

  1. icon-1x.png
  2. icon-2x.png
  3. icon-3x.png

Comment puis-je utiliser NSBundle ou d'autres méthodes pour charger les données du fichier PNG brut (ne pas décoder les données d'image) de, par exemple, icon-1x.png?

+0

est-ce que icon-1x.png même pour icon-2x ou des images différentes? –

+0

@AntonyRaphel différent – stojanman

Répondre

0

stocker l'image avec le nom-icône 1x.png, icone-2x.png et icône-3x.png dans l'image set.then essayer avec comme cette boucle,

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 
} 

sinon vous pouvez obtenir de l'étiquette de l'imageView. puis passer cette valeur de balise comme ceci:

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

Cela ne m'aide pas parce qu'il ne me donne pas les données PNG (comme l'ouverture d'un fichier), mais plutôt il décode l'image. – stojanman

+0

mis à jour les ans –

+0

Malheureusement, cela ne résout pas mon problème. La fonction UIImagePNGRepresentation convertit le bitmap en mémoire en PNG, qui est différent des octets PNG du fichier. :) – stojanman