1

如何从 iOS 的图像资源中读取原始文件数据?

例如,一个“图像”图像集包含:

  1. 图标-1x.png
  2. 图标-2x.png
  3. 图标-3x.png

如何使用 NSBundle 或其他方法加载例如 icon-1x.png 的原始 PNG 文件数据(而不是解码图像数据)?

4

1 回答 1

0

将名称为 icon-1x.png、icon-2x.png 和 icon-3x.png 的图像存储在图像集中。然后尝试使用这样的循环,

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
于 2017-03-22T12:54:04.870 回答