读取图片的几种方式

读取图片的方式有以下几种:

1 . 从沙盒中获取图片  :

1>通过imageNamed:去加载,加载沙盒中.app包中的图片文件

第一次加载图片时,会去沙盒中读取此文件,然后系统会将此图片缓存到内存中

方便以后读取,以后再读取时,会从缓存中寻找(加快加载速度)

如果图片经常使用,可以采用此种方式

     

2>通过filePath手动读取图片:

每一次都要重新从沙盒中读取

如果图片特别大,而且图片不会经常使用,可以采用此种方式,节约内存

 

代码演示如下 :

//1.imageNamed
    UIImage *image = [UIImage imageNamed:@"a.jpg"];
    
    
    //2.filePath
    
    //1.获取a.jpg图片的路径
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"a" ofType:@"jpg"];
    //2.NSData读取图片数据
    NSData *data =  [NSData dataWithContentsOfFile:filePath];
    UIImage *img = [[UIImage alloc] initWithData:data];
    
    UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
    imgView.image = img;
    [self.view addSubview:imgView];

  

2.从网上获取图片 :

1  //耗时操作,会阻塞主线程
2     NSData *imgData = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://pic5.nipic.com/20100121/4183722_103138000079_2.jpg"]];
3     
4     UIImage *img = [[UIImage alloc] initWithData:imgData];
5     
6     UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100, 200, 100, 100)];
7     imgView.image = img;
8     
9     [self.view addSubview:imgView];

 

原文地址:https://www.cnblogs.com/pengsi/p/4890934.html