[ocUI日记]UIImage和UIImageview

UIImage

 

 1     //用类方法创建uiimage(png格式可以省略后缀)

 2     UIImage *image1 = [UIImage imageNamed:@"001"];

 3     //用路径来获得图片

 4     NSString *path = @"";//这是路径地址

 5     UIImage *image2 = [UIImage imageWithContentsOfFile:path];

 6     //根据网址来获得图片

 7     NSString *url = @"";//这是网址

 8     UIImage *image3 = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]];

 9     //uiimage继承自uiview所以uiview的方法他都能用  所以这里就不在一一列举

10     float a = image1.size.width;//获得图片的宽度

11     float b = image1.size.height;//获得图片的高度

12     

13     

14     //nsdata和uiimage之间的转换

15     //nsdata 转换成 uiimage

16     NSData *imagedata = [NSData dataWithContentsOfFile:path];

17     UIImage *image = [UIImage imageWithData:imagedata];

18     //uiimage 转化成nsdata

19     NSData *imagedata1 = [NSData dataWithContentsOfFile:path];

但是写到这里,我们发现我们并不能讲图片显示到屏幕上,并不是因为我们没有写add方法,而是image并不能直接添加到self.view上,于是就有了下面要讲的内容

UIImageView

 1     //在创建uiimageview的同时添加一个参数进去

 2     UIImageView *view1 = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"001"]];

 3     //设置uiimageview的位置和大小

 4     view1.frame = CGRectMake(20, 20, 100, 100);

 5     //设置imageview的大小和image的大小相适应

 6     [view1 sizeToFit];

 7     //添加到视图上

 8     [self.view addSubview:view1];

 9     //imageview的contentMode属性:这个属性是用来设置图片的显示方式,如居中、居右,是否缩放等

10     

11     /*

12      UIViewContentModeScaleToFill 

13      UIViewContentModeScaleAspectFit 

14      UIViewContentModeScaleAspectFill 

15      UIViewContentModeRedraw 

16      UIViewContentModeCenter 

17      UIViewContentModeTop 

18      UIViewContentModeBottom 

19      UIViewContentModeLeft 

20      UIViewContentModeRight 

21      UIViewContentModeTopLeft 

22      UIViewContentModeTopRight 

23      UIViewContentModeBottomLeft 

24      UIViewContentModeBottomRight

25      */

26     //凡是没有带Scale的,当图片尺寸超过 ImageView尺寸时,只有部分显示在ImageView中。UIViewContentModeScaleToFill属性会导致图片变形。 UIViewContentModeScaleAspectFit会保证图片比例不变,而且全部显示在ImageView中,这意味着ImageView 会有部分空白。UIViewContentModeScaleAspectFill也会证图片比例不变,但是是填充整个ImageView的,可能只有部 分图片显示出来

27     view1.contentMode = UIViewContentModeScaleAspectFill;

接下来给大家带来一个图片轮播的demo

    //创建一个uiimageview

    UIImageView *imagev1 = [[UIImageView alloc]initWithFrame:CGRectMake(140, 200, 100, 100)];

    //创建image

    UIImage *image1 = [UIImage imageNamed:@"101"];

    UIImage *image2 = [UIImage imageNamed:@"201"];

    UIImage *image3 = [UIImage imageNamed:@"301"];

    UIImage *image4 = [UIImage imageNamed:@"401"];

    UIImage *image5 = [UIImage imageNamed:@"501"];

    UIImage *image6 = [UIImage imageNamed:@"601"];

    UIImage *image7 = [UIImage imageNamed:@"701"];

    //将图片放入数组

    NSArray *imagearr = @[image1,image2,image3,image4,image5,image6,image7];

    //设置轮播数组

    imagev1.animationImages = imagearr;

    //设置播放完全部的时间

    imagev1.animationDuration = 7;

    //设置播放次数  0为无限循环

    imagev1.animationRepeatCount = 0;

    //开始轮播

    [imagev1 startAnimating];

    [self.view addSubview:imagev1];

由于不会怎么插入本地视频,所以就不放展示视频了,大家见谅

 

你可能感兴趣的:(imageview)