神刀安全网

iOS图像处理(一)UIImage创建图像

前言

UIImage是UIKit框架中的一个高级别图像类,可以通过多种方法创建。
这个类提供的方法可以从各种源载入图像。

创建图像

UIImage提供了许多类方法和实例方法来创建一个图像实例:

  • + imageNamed:
    类方法,从应用程序包中加载图片,通过这种方式创建会建立图像缓存,第一次从文件中加载,以后都是从缓存中直接读取。
    UIImage * image = [UIImage iamgeNamed:@"img"]; // 作为.png格式的图片,我们可以不添加后缀,当然其他格式如.jpg格式的图片是不可以的 UIImage * image = [UIImage iamgeNamed:@"img.jpg"];
  • + imageWithContentsOfFile:
    类方法,通过文件路径创建图像。
    1、从应用程序包加载
    NSString * path = [[NSBundle mainBundle] pathForResource:@"img" ofType:@"png"]; UIImage * image = [UIImage imageWithContentsOfFile:path];

    2、从沙盒Document文件夹下加载

    NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; path = [path stringByAppendingPathComponent:@"img.png"]; UIImage * image = [UIImage imageWithContentsOfFile:path];
  • + imageWithData:
    类方法,通过内存中的NSData对象创建图像。
    1、从应用程序包中加载
    NSString * path = [[NSBundle mainBundle] pathForResource:@"img" ofType:@"png"]; NSData * data = [[NSData alloc] initWithContentsFile:path]; UIImage * image = [UIImage imageWithData:path];

    2、从沙盒Document文件夹下加载

    NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; path = [path stringByAppendingPathComponent:@"img.png"]; NSData * data = [[NSData alloc] initWithContentsOfFile:path]; UIImage * image = [UIImage imageWithData:path];

    3、从网络上加载

    NSURL * url = [NSURL URLWithString:@"http://xxx/img.png"]; NSData * data = [[NSData alloc] initWithContentsOfURL:url]; UIImage * image = [UIImage imageWithData:path];
  • + imageWithCGImage:
    类方法,通过CGImageRef对象创建图像。
    CGImageRef imageRef; UIImage * image = [UIImage imageWithCGImage:imageRef];
  • + imageWithCIImage:
    类方法,通过CIImage对象创建图像。
    CIImage * image; UIImage * image = [UIImage imageWithCIImage:image];
  • – initWithContentsOfFile:
    实例方法,跟+ imageWithContentsOfFile:的用法相似,只不过它是实例方法。
    UIImage * image = [[UIImage alloc] initWithContentsOfFile:path];
  • – initWithData:
    实例方法,跟+ imageWithData:的用法相似,只不过它是实例方法。
    UIImage * image = [[UIImage alloc] initWithContentsOfData:data];
  • – initWithCGImage:
    实例方法,跟+ imageWithCGImage:的用法相似,只不过它是实例方法。
    UIImage * image = [[UIImage alloc] initWithCGImage:imageRef];
  • – initWithCIImage:
    实例方法,跟+ imageWithCIImage:的用法相似,只不过它是实例方法。
    UIImage * image = [[UIImage alloc] initWithCIImage:image];

通过相册、相机获得UIImage对象

关于如何从相册、相机获取UIImage对象,请参见iOS从相册和照相机读取图片(UIImagePickerController)这里有详细的解释。

下一篇iOS图像处理(二)Core Image介绍

版权声明:出自MajorLMJ技术博客的原创作品 ,转载时必须注明出处及相应链接!

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » iOS图像处理(一)UIImage创建图像

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址