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

      

      

  • 相关阅读:
    Unity3D游戏-愤怒的小鸟游戏源码和教程(一)
    Unity插件-ShareSDK使用指南
    Unity 3D开发-C#脚本语言的一些基础用法
    Shader的函数公式以及使用的场景
    Shader的基本用法和语法结构
    iTween的用法总结
    Unity 3D游戏-消消乐(三消类)教程和源码
    Unity 3D游戏-NPC对话系统With XML
    XML教程、语法手册、数据读取方式大全
    ReSharper2017.3的列对齐、排版格式、列对齐错误的修复
  • 原文地址:https://www.cnblogs.com/pigface/p/5050817.html
Copyright © 2011-2022 走看看