第一部分 UIImage支持的图片格式
格式 后缀
JPEG格式 .jpg .jpeg
GIF格式 .gif
PNG格式 .png
windos位图格式 .bmp .BMPf
windows图标格式 .ico
windows光标格式 .cur
标签图像文件格式 .tiff .tif
UIIMage常用来显示图片的类方法如下:
一 从 main bundle 加载指定文件名对应的图片,但是这个方法有缓存,当试图去加载的文件不存在的时候,他才会去加载图片文件并缓存它,如果已经缓存,则直接使用已缓存好的图片
+ (UIImage *)imageNamed:(NSString *)name;
二 这个方法根据指定的路径中去加载文件对应的图片
+ (UIImage *)imageWithContentsOfFile:(NSString *)path;
三 根据NSData中的图片数据来加载对应的图片
+ (UIImage *)imageWithData:(NSData *)data;
四 该方法根据NSData中的图片数据来加载对应的图片,并且会按照指定的缩放因子对图片进行缩放
+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale NS_AVAILABLE_IOS(6_0);
五 根据指定的CGImageRef对象来创建UIImage
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage;
六 根据指定的CGImageRef对象来创建UIImage,并且会按照指定的缩放因子对图片进行缩放和旋转
+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation NS_AVAILABLE_IOS(4_0);
第二部分 加载图片的方式
一 从bundle中加载对应的图片
UIImage* image=[UIImage imageNamed:@"1.png"];
二 从网络加载图片
NSURL* url =[NSURL URLWithString:@"1131907198420455d6o.jpg"];
NSData* data =[NSData dataWithContentsOfURL:url];
UIImage* image=[UIImage imageNamed:data];
三 从手机上加载图片
NSString* path=[[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComopnoent:@"baidu.png"];
UIImage* image=[UIIMage imageWithContentsOfFile: path];
四 加载多张图片实现动画的效果
该方法根据指定的图片名来加载系列图片
// animated images. When set as UIImageView.image, animation will play in an infinite loop until removed. Drawing will render the first image
+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration NS_AVAILABLE_IOS(5_0); // read sequence of files with suffix starting at 0 or 1
该方法要求传入一个数组,作为多张动画图片,数组中的每个元素都是UIImage对象
+ (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration NS_AVAILABLE_IOS(5_0);
第三部分 UIIMage与CGImage的关系
UIImage的缺点:不能对图片进行缩放,旋转,不能挖取原图片的指定区域。需要借助CGImageRef来实现、
CGImageRef不是面向对象的API,而是一个指针类型,
UIImage与CGImageRef相互转换
一 将image装换成CGImageRef
UIImage* image=.......
CGImageRef imageRef=[image CGImage];
二 将CGImageref转换成UIImage
CGIMageRef ref=....
UIImage* image=[UIImage imageWithCGImage:ref];