五种创建UIImage的类方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五种创建UIImage的类方法相关的知识,希望对你有一定的参考价值。

五种创建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);

CIImageCoreImage框架中最基本代表图像的对象,在CIImageCIContext渲染出来之前,他是依赖于滤镜链的,滤镜是不会更改CIImage中的图像数据。

 UIImage *image = [UIImage imageWithCGImage:ciImage];   

以上四种方法都是UIImage的类方法,使用UIImage的初始化方法也是可以创建UIImage对象的大家可以进UIImage详细了解一下。

 

以上是关于五种创建UIImage的类方法的主要内容,如果未能解决你的问题,请参考以下文章

按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的载重量(代码片段

如何将 View 类中的代码片段移动到 OnAppearing() 方法?

JAVA创建对象的五种方式

扩展片段的类中的选项卡

11.按要求编写Java应用程序。 创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)减速(车速自减)修改车牌号,查询车的(代码片段

重构 ViewController 代码以将返回 UIImage 的方法移动到相关子类中