UIImage的加载和显示

本文详细介绍了UIImage的各种图片加载方式,包括如何加载本地文件、网络图片及动画图片。此外还探讨了UIImage对象在内存管理方面的特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIImage支持如下几种图片格式: jpg  jpeg  png  gif tiff tif  bmp bmpf  ice  cur  xbm 


当系统内存紧张的时候UIImage所承载的iamge元素会被清理出内存,当回事uiimage对象并不会被清理出去,当程序再次使用这个被清理过的图片资源的时候将自动从原始文件中加载图片数据


图片的创建:

如果用UIImage来显示静止的图片,UIImage提供了如下常用的类方法。

+ imageNamed::该方法用于加载指定文件名对应的图片。该方法有缓存机制,如果该方法试图加载的文件不存在,它才会去加载图片文件并缓存它;如果系统已经缓存过指定的图片,该方法将直接使用已缓存的图片。

当程序需要频繁地加载、卸载图片文件时,不应该使用该方法来加载图片。

+ imageWithContentsOfFile::该方法用于加载指定文件名对应的图片。

+ imageWithData::该方法用于根据NSData中封装的图片数据来创建图片。

+ imageWithData:scale::该方法用于根据NSData中封装的图片数据来创建图片,并按指定的缩放因子对图片进行缩放。

+ imageWithCGImage::该方法用于根据指定的CGImageRef对象来创建UIImage

+ imageWithCGImage:scale:orientation::该方法用于根据指定的CGImageRef对象来创建UIImage,并将图片缩放到指定比例。该方法的最后一个参数指定对图片执行旋转、镜像等变换操作。

---------------------------------------------

如果需要从网络读取图片,可借助NSData的方法来加载指定URL对应的网络数据,然后利用UImageimageWithData:方法来加载图片即可。例如如下代码:

 

NSURL* url = [NSURL URLWithString:@"http://www.crazyit.org/logo.jpg"];

NSData* data = [NSData dataWithContentsOfURL:url]

UIImage* image = [UIImage imageWithData:data];

-----------------------------

如果需要读取手机本地的图片,只要先获取图片路径,再利用UIImageimageWithContentsOfFile:方法加载图片即可。例如如下代码:

 

NSString *path = [[NSHomeDirectory()

    stringByAppendingPathComponent:@"Documents"]

    stringByAppendingPathComponent:@"fkjava.png"];

UIImage *image = [UIImage imageWithContentsOfFile:path];


--------------------------------

+ animatedImageNamed:duration::根据指定的图片名来加载系列图片。例如,调用该方法时的第一个参数名为butterfly,该方法将会自动加载butterfly0.pngbutterfly1.pngbutterfly2.png等图片。

+ animatedImageWithImages:duration::该方法需要传入一个NSArray作为多张动画图片。该NSArray中的每个元素都是UIImage对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值