UIImage学习笔记
- UIImage是什么
用来管理APP里的图片资源,可以用来表示设备支持的图片资源,不仅仅是jpg和png。
UIImage是immutable的,因此也是线程安全的。 - iOS支持的所有的图片格式
链接
不过,对于gif格式,只能展示第一帧。需要把gif分成若干帧,分别展示。 - iOS本身的图片缓存系统
iOS本身有一个图像缓存系统。系统在内存不够使,会清除缓存中的一些内容。
使用init(named:in:compatibleWith:)
方法生成的image被加入到了系统缓存中去。因此适合于创建频繁使用的图片。这个方法在iOS9以后是线程安全的。
使用imageWithContentsOfFile:
的方法创建的image没有被加入系统缓存中去,每次调用都会重新载入图片。 - 如何比较两张图片的数据是否一致。
由于图像存在缓存系统,因此唯一可以比较图片数据是否相同的方法是isEqual(_:)
方法,这个方法比较真实的图片数据。 - 从UIImage获取图像的其他表示方法
cgImage
属性,在Core Graphics框架内。ciImage
属性,在Core Image框架内UIImagePNGRepresentation(_:)
, png格式的数据UIImageJPEGRepresentation(_:_:)
, jpg格式的数据
- 图片的方向
链接 - 图片的size
以point度量的图片的大小 - 图片的scale
物理像素和逻辑像素的比值。size*scale就是以像素度量的图片大小。 展示一系列图片
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学习笔记的更多相关文章
- Leonbao:MapKit学习笔记
以下仅作了解, 实际使用以百度地图居多, 因为百度地图有动态路径规划等接口 MapKit学习笔记 原帖: http://www.cocoachina.com/bbs/read.php?tid-6 ...
- [置顶] iOS学习笔记47——图片异步加载之EGOImageLoading
上次在<iOS学习笔记46——图片异步加载之SDWebImage>中介绍过一个开源的图片异步加载库,今天来介绍另外一个功能类似的EGOImageLoading,看名字知道,之前的一篇学习笔 ...
- iOS学习笔记31-从图册获取图片和视频
一.从图册中获取本地图片和视频 从图册中获取文件,我们使用的是UIImagePickerController,这个类我们在之前的摄像头中使用过,这里是链接:iOS学习笔记27-摄像头,这里我们使用的是 ...
- iOS学习笔记20-地图(二)MapKit框架
一.地图开发介绍 从iOS6.0开始地图数据不再由谷歌驱动,而是改用自家地图,当然在国内它的数据是由高德地图提供的. 在iOS中进行地图开发主要有三种方式: 利用MapKit框架进行地图开发,利用这种 ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- PHP-会员登录与注册例子解析-学习笔记
1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...
- 2014年暑假c#学习笔记目录
2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...
- JAVA GUI编程学习笔记目录
2014年暑假JAVA GUI编程学习笔记目录 1.JAVA之GUI编程概述 2.JAVA之GUI编程布局 3.JAVA之GUI编程Frame窗口 4.JAVA之GUI编程事件监听机制 5.JAVA之 ...
随机推荐
- CodeIgniter学习一:基础知识
1. url片段(CI域名组成说明) example.com/index.php/test/index 第一部分(test):控制器 第二部分(index):方法,动作 如果第二部分 ...
- Android_WebServices_介绍
本博文为子墨原创,转载请注明出处! http://blog.csdn.net/zimo2013/article/details/38036289 1.WebService的介绍 WebService为 ...
- wsgi-restful-routes具体解释:
感谢朋友支持本博客,欢迎共同探讨交流,因为能力和时间有限,错误之处在所难免,欢迎指正! 如有转载,请保留源作者博客信息. Better Me的博客:blog.csdn.net/tantexian 如需 ...
- 自己动手实现Expression翻译器 – Part I
伴随.Net3.5到来的Expression,围绕着它产生了各种各样有趣的技术与应用,Linq to object.Linq to sql.Linq to sqllite.Linq to Anythi ...
- open打开窗口并且获得打开窗口的窗口对象
//主窗体 <script language="javascript" type="text/javascript"> function opens ...
- 转载Mvc的多层架构
Mvc的多层架构 分享一个Mvc的多层架构,欢迎大家拍砖斧正 多层架构是什么? 多层架构是开发人员在开发过程当中面对复杂且易变的需求采取的一种以隔离控制为主的应对策略,关于多层架构的标准,我认为有 ...
- C# 词法分析器
当前标签: 编译原理 C# 词法分析器(七)总结 CYJB 2014-01-09 12:46 阅读:582 评论:1 C# 词法分析器(六)构造词法分析器 CYJB 2013-05-07 01 ...
- 关于lower_bound的使用
突然发现lower_bound是一个挺好用的东西, 在学习最长不下降子序列的nlogn的算法的时候看到的,C++党写起二分来一行- -P党一排233 感觉如果到时候需要用上二分的话,能用lower_b ...
- windows下使用git时生成sshkey和配置
在windows下如何安装git就不介绍了,我这里主要使用的TortoiseGit,主要记录下在windows上如何通过sshkey链接git 在开始菜单中找到git bash,git bash是gi ...
- smtp中ehlo的使用
以前玩smtp的时候申明都是用的helo,最近在整理邮件服务的时候,才知道还有一个叫做ehlo的(太落后了). google了一下,了解了基本上是这么个情况:ehlo是对helo的扩展,即extend ...