iOS之图片的使用

来源:互联网 发布:数据透视表的使用要点 编辑:程序博客网 时间:2024/06/10 04:50

1、加载图像的方法:

1)imageNamed:该方法用于加载指定文件名对应的图片,该方法有缓存机制,如果该方法将要加载的图片文件不存在,才会加载,如果存在,则直接使用缓存的图片。

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

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

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

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

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

2、加载图片的路径

1)从应用资源包读取图片:可借助UIImage的imageNamed:方法进行读取

2)从网络读取图片:可借助NSData的方法来加载指定URL对应的网络数据,然后利用UIImage的imageWIthData:方法来加载图片,如下:

NSURL*  url = [UIImage imageNamed:@"hello.png"];NSData*  data = [NSData  dataWithContentsOfURL:url];UIImage* image = [UIImage  imageWithData:data];
3)从手机本地读取图片,先获取图片路径,在利用UIImage的imageWIthContentsOfFile加载

NSString* path = [[NSHomeDirectory()  stringByAppendingPathComponent:@"Documents"] stringByAppendingPathComponent:@"a.png"];UIImage* image = [UIImage  imageWithContentsOfFile:path];
3、加载图片动画

1)animatedImageNamed:duration:根据指定的图片名来加载系列图片。

2)animatedImageWithImages:duration:该方法根据传入的NSArray作为多个动画图片

4、实例

@implementation FKViewController// 定义显示图片的UIImageView控件UIImageView* iv;// 定义定时器NSTimer* timer;- (void)viewDidLoad{[super viewDidLoad];// 设置背景色为白色self.view.backgroundColor = [UIColor whiteColor];// 创建UIImageView控件iv = [[UIImageView alloc]  initWithFrame:CGRectMake(0 , 30 , 41 , 43)];// 使用UIImageView加载文件名以butterfly_f开头的多张图片iv.image = [UIImage animatedImageNamed:@"butterfly_f"duration:0.6];// 将UIImageView添加到系统界面上[self.view addSubview: iv];// 启动NSTimer定时器来改变UIImageView的位置timer = [NSTimer scheduledTimerWithTimeInterval:0.1target:self selector:@selector(changePos)userInfo:nil repeats:YES];}- (void) changePos{CGPoint curPos = iv.center;// 计算一个-4~5之间随机数int y = arc4random() % 10 - 4;// 当curPos的x坐标已经超过了屏幕的宽度if(curPos.x > [UIScreen mainScreen].bounds.size.width){// 控制蝴蝶再次从屏幕左侧开始移动iv.center = CGPointMake(0, 30);}else{// 通过修改iv的center属性来改变iv控件的位置iv.center = CGPointMake(curPos.x + 4, curPos.y + y);}}@end


0 0