• [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];

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

  • 相关阅读:
    5、python中的列表
    Linux---配置新服务器的常见操作(CentOS7)
    MapReduce原理篇
    用MR实现Join逻辑的两种方法
    Linux静态库与共享库
    mysql命令查看表结构及注释
    mysql 数据同步到 elastsearch7 数字类型精度丢失
    canal client-adapter 将mysql数据同步到 es elasticsearch 日期时间少8小时问题解决
    如何用redis做活跃用户统计-HyperLoglog
    jvm 虚拟机内存布局
  • 原文地址:https://www.cnblogs.com/0error/p/4574155.html
Copyright © 2020-2023  润新知