zoukankan      html  css  js  c++  java
  • iOS开发五种创建UIImage的类方法

    UIImage有五个类方法,用来创建UIImage的。下面介绍一下每个类方法的作用和创建实例。
      1.使用类方法imageNamed:创建
      + (UIImage *)imageNamed:(NSString *)name; // load from main bundle
      name是照片名称。创建UIImage对象,代码如下:
      UIImage *image = [UIImage imageNamed:@"ganggang"];
      使用imageNamed:初始化的时候,会先检查缓存中是否存在ganggang的照片,如不存在,图片首先会被缓存起来,然后才返回要加载的图片对象;如果存在,直接返回要加载的照片对象。
      2.使用类方法imageWithContentsOfFile:创建
      + (UIImage *)imageWithContentsOfFile:(NSString *)path;
      path是需要加载照片的路径,如何获取照片的路径请点击iOS开发之获取沙盒路径。实现代码如下:
      UIImage *image = [UIImage imageWithContentsOfFile:path];
      使用imageWithContentsOfFile:创建UIImage的时候,是直接从磁盘上加载。当收到内存警告时,UIImage对象会被释放,下一次绘图的时候,需要重新加载。
      3.使用类方法imageWithData:创建
      + (UIImage *)imageWithData:(NSData *)data;
      data是照片数据,一般是请求返回的,然后通过imageWithData:创建UIImage。实现代码如下所示:
      NSData *data = [NSData dataWithContentsOfURL:[NSURL
      URLWithString:@"http://www.superqq.com/images/getqrcode.jpg"]];
      UIImage *image =[UIImage imageWithData:data];
      4.使用类方法imageWithCGImage:创建
      + (UIImage *)imageWithCGImage:(CGImageRef)cgImage;
      cgImage是定义在QuartzCore框架中的一个结构体指针。这个结构用来创建像素位图,可以通过操作存储的像素位来编辑图片。
      UIImage *image = [UIImage imageWithCGImage:cgImage];
      5.使用类方法imageWithCIImage:创建
      + (UIImage *)imageWithCIImage:(CIImage *)ciImage NS_AVAILABLE_IOS(5_0);
      CIImage是CoreImage框架中最基本代表图像的对象,在CIImage被CIContext渲染出来之前,他是依赖于滤镜链的,滤镜是不会更改CIImage中的图像数据。
      UIImage *image = [UIImage imageWithCGImage:ciImage];
      以上四种方法都是UIImage的类方法,使用UIImage的初始化方法也是可以创建UIImage对象的。

        

  • 相关阅读:
    [转]怎么看工作是否到位
    [转]一个合格程序员该做的事情——你做好了吗?
    深入图解虚拟机(一)--一个问题引出的思考
    正则表达式边用边学(一)——分组、捕获
    redhat无法注册RHN的解决办法
    使用jquery扩展表格行合并方法探究
    扩展jquery easyui datagrid编辑单元格
    js点滴知识(1) -- 获取DOM对象和编码
    使用雅虎YUI Compressor压缩JS过程心得记录
    插曲一--记《数据结构与问题求解(Java语言版)(第4版)》翻译问题
  • 原文地址:https://www.cnblogs.com/allenChan/p/4689155.html
Copyright © 2011-2022 走看看