zoukankan      html  css  js  c++  java
  • UIImage学习

      UIImage

      A UIImage object is a high-level way to display image data. You can create images from files, from Quartz image objects, or from raw image data you receive. The UIImage class also offers several options for drawing images to the current graphics context using different blend modes and opacity values.

      一个 UIImage 对象是一个高级别的方式来显示图像数据。你可以从文件,从Quartz图像对象,创建的图像或您收到从原始图像数据。UIImage 类还提供了用于绘制图像到使用不同的混合模式和不透明度值的当前图形上下文的几个选项。

      官方推荐用UIImage加载图片尺寸是应该小于1024*1024,否则会有问题

    1.普通加载一张图片

      根据名字加载一张图片到UIImage;

      UIImage *firstImg = [UIImage imageNamed:@"bg"];此时UIImage并未从文件中加载,因为他还没有显示到View中。当第一次显示到View中后,开始从路径中解码图片到内存中,并且缓存一份。

    2.指定拉伸区域加载一张图片

      这张图片做较大的UIImageView的背景时,如果不处理会是这样

      

    很明显变形了用这个方法处理一下就ok了

     – resizableImageWithCapInsets:resizingMode:

      – resizableImageWithCapInsets:

    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(10, 10, 300, 80)];
        [self.view addSubview:imageView];
        
        UIImage *firstImg = [UIImage imageNamed:@"bg"];
    
    //    imageView.image = firstImg;
        self.firstImageView.image = [firstImg resizableImageWithCapInsets:UIEdgeInsetsMake(30 , 30, 30, 30) resizingMode:UIImageResizingModeStretch];

     效果如图:

     

    CapInsets:传入四个角的不改变的区域
    resizingMode:模式。是一个系统枚举,如果图片的中间是一样的 两种模式随便选择

    typedef NS_ENUM(NSInteger, UIImageResizingMode) {

        UIImageResizingModeTile, //表示平铺充满 如果要是图片中间有文字会看到重复

        UIImageResizingModeStretch,//表示拉伸充满 如果要是图片中间有文字会看到拉伸

    };

    3.动画加载一组图片

    + (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration //加载同名的一组image,逐个显示成动画,注意这一组图片的名字一样,假如图片的名字为image0,image1,image2,image3...等,name只需要填@"image"即可。
    + (UIImage *)animatedImageWithImages:(NSArray *)images duration:(NSTimeInterval)duration//动画逐个显示NSArray里面的图片

    //下面这两个方法是
    animatedImageNamed:duration: 和第二条中方法的结合
    + (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration
    + (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration

      

      

  • 相关阅读:
    Data Base Oracle 常用命令
    ASP.NET Core ASP.NET Core+MVC搭建及部署
    Hadoop 之 MapReduce 框架演变详解
    计算机网络: IP地址,子网掩码,默认网关,DNS服务器详解
    Linux系统基本网络配置之ifconfig命令
    Linux-eth0 eth0:1 和eth0.1关系、ifconfig以及虚拟IP实现介绍
    Linux 中将用户添加到组的指令
    几种常见的Shell
    常见的Shell
    Linux(CentOS6.5)下创建新用户和组,并制定用户和组ID
  • 原文地址:https://www.cnblogs.com/pigface/p/5050817.html
Copyright © 2011-2022 走看看