首页 > 其他 > 详细

UIImage学习笔记

时间:2017-01-14 08:40:34      阅读:236      评论:0      收藏:0      [点我收藏+]
  1. UIImage是什么
    用来管理APP里的图片资源,可以用来表示设备支持的图片资源,不仅仅是jpg和png。 UIImage是immutable的,因此也是线程安全的。
  2. iOS支持的所有的图片格式
    链接 技术分享 不过,对于gif格式,只能展示第一帧。需要把gif分成若干帧,分别展示。
  3. iOS本身的图片缓存系统
    iOS本身有一个图像缓存系统。系统在内存不够使,会清除缓存中的一些内容。
    使用init(named:in:compatibleWith:)方法生成的image被加入到了系统缓存中去。因此适合于创建频繁使用的图片。这个方法在iOS9以后是线程安全的。
    使用imageWithContentsOfFile:的方法创建的image没有被加入系统缓存中去,每次调用都会重新载入图片。
  4. 如何比较两张图片的数据是否一致。
    由于图像存在缓存系统,因此唯一可以比较图片数据是否相同的方法是isEqual(_:)方法,这个方法比较真实的图片数据。
  5. 从UIImage获取图像的其他表示方法
    • cgImage属性,在Core Graphics框架内。
    • ciImage属性,在Core Image框架内
    • UIImagePNGRepresentation(_:), png格式的数据
    • UIImageJPEGRepresentation(_:_:), jpg格式的数据
  6. 图片的方向 技术分享 链接
  7. 图片的size
    以point度量的图片的大小
  8. 图片的scale
    物理像素和逻辑像素的比值。size*scale就是以像素度量的图片大小。
  9. 展示一系列图片
    UIImage可以展示一些列图片,得到类似gif的图片效果。这些图片应该有相同的size和scale

    • 通过UIImage数组生成
    class func animatedImage(with images: [UIImage], duration: TimeInterval) -> UIImage?
    
    class func animatedResizableImageNamed(_ name: String, capInsets: UIEdgeInsets, duration: TimeInterval) -> UIImage?
    
    • 通过路径生成
    class func animatedImageNamed(_ name: String, duration: TimeInterval) -> UIImage?
    class func animatedResizableImageNamed(_ name: String, capInsets: UIEdgeInsets, resizingMode: UIImageResizingMode, duration: TimeInterval) -> UIImage?
    

    其中,name是图片路径的前缀。

UIImage学习笔记

原文:http://www.cnblogs.com/huahuahu/p/UIImage-xue-xi-bi-ji.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!