UIkit框架之UIimage
1.继承链:NSObject
2.以下有三种方法来创建图片对象
(1) imageNamed:inBundle:compatibleWithTraitCollection:从image asset或者主要的捆绑包中载入图片来进行创建图片对象。
(2) imageWithContentsOfFile: or initWithContentsOfFile:从本地文件中载入图片进行创建图片对象
(3) animatedImageWithImages:duration: and animatedImageNamed:duration:可以创建一个包含多个图片的图片对象,一般是用来播放动画的
3.使用 UIImagePickerController可以让用户进入自己的相册选取照片
4. 使用resizableImageWithCapInsets: or resizableImageWithCapInsets:resizingMode:方法可以定义可伸展图片,可以改变图片的大小以适合容器的大小,让人看起来更加舒服

5.使用isequal方法可以判断两张图片是否相等,这是唯一的方法,使用==是错误的
UIImage* image1 = [UIImage imageNamed:@"MyImage"];UIImage* image2 = [UIImage imageNamed:@"MyImage"];// The image objects may be different, but the contents are still equalif ([image1 isEqual:image2]) {// Correct. This technique compares the image data correctly.}
6. 可以使用CGImage and CIImage属性来检索各种版本的图片
7.可以使用 UIImagePNGRepresentation and UIImageJPEGRepresentation功能来生成png或者JPEG格式的图片数据
8.可以使用的方法或者属性:
(1)+ (UIImage *)imageNamed:(NSString *)name
inBundle:(NSBundle *)bundle compatibleWithTraitCollection:(UITraitCollection *)traitCollection,name是在bundle中图片的名称,bundle是用来存储图片的捆绑包,traitcollection暂时还不知道是干嘛的,它里面是这样描述的:The traits associated with the intended environment for the image. Use this parameter to ensure that the correct variant of the image is loaded. If you specify nil, this method uses the traits associated with the main screen.
(2)[image imageWithData:(NSData *)data]通过指定的图片数据对象用来创建和返回一个图片对象
(3)+ (UIImage *)imageWithData:(NSData *)data scale:(CGFloat)scale 使用这个方法可以通过一个数据对象和比例创建和返回一个图片对象
(4)+ (UIImage *)imageWithCGImage:(CGImageRef)cgImage 返回一个指定的quartz image对象转变后的对象
(5)+ (UIImage *)imageWithCGImage:(CGImageRef)imageRef scale:(CGFloat)scale orientation:(UIImageOrientation)orientation 返回一个设定比例和方向的图片对象 ,cgImage是一个quartz image对象
(6)+ (UIImage *)imageWithCIImage:(CIImage *)ciImage 创建和返回一个core image对象转变后的图片对象 , core image对象是经过压缩封装的图片
(7)+ (UIImage *)imageWithCIImage:(CIImage *)ciImage scale:(CGFloat)scale orientation:(UIImageOrientation)orientation 返回一个把core image对象的比例和方向转变后的图片对象
(8)- (instancetype)initWithData:(NSData *)data scale:(CGFloat)scale 返回一个比例为scale且是data里面的图片对象
(9)+ (UIImage *)animatedImageNamed:(NSString *)name duration:(NSTimeInterval)duration 返回一个动态图片,并且设定了一定的时间
(10)+ (UIImage *)animatedImageWithImages:(NSArray<UIImage *> *)images duration:(NSTimeInterval)duration 返回一个图片对象,并且这个对象的内容由图片数组组成、还设定动画的时间
(11)+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets duration:(NSTimeInterval)duration 返回的图片设定了边界距离属性和动画时间
(12)+ (UIImage *)animatedResizableImageNamed:(NSString *)name capInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode duration:(NSTimeInterval)duration 返回的对象设定了边界距离属性、内部重构属性(我也不知道这是什么鬼)和动画时间,
注意:这个方法一般应用在动画需要改变大小的情况,resizingMode默认的类型是UIImageResizingModeTile,动画改变时使用 UIImageResizingModeStretch属性
(13)- (UIImage *)imageWithRenderingMode:(UIImageRenderingMode)renderingMode 返回的对象经过renderingmode参数渲染
(14)- (UIImage *)imageWithAlignmentRectInsets:(UIEdgeInsets)alignmentInsets 返回的对象经过边界距离属性调整,如果你重新调整了按钮的大小,但是北京图片的coners不会改变并且大小会跟随按钮的变化而变化
(15)- (UIImage *)resizableImageWithCapInsets:(UIEdgeInsets)capInsets resizingMode:(UIImageResizingMode)resizingMode 只有当你想使用 UIImageResizingModeStretch方法来重构图片大小的时候你才可以调用这个方法
(16)- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight 会改变图片里面的中间的区域,大小为leftcapwidth*topcapheight
9.只读属性:size、scale、imageorientation、flipsforrighttoleftlayoutdirection、resizingmode、cgimage、ciimage、images、duration、capinset、alignmentrectinsets、imageasset、traitcollection
10.drawing images
(1)- (void)drawAtPoint:(CGPoint)point在当前的上下文中绘画图片到指定的点上
(2)
- (void)drawAtPoint:(CGPoint)point blendMode:(CGBlendMode)blendMode alpha:(CGFloat)alpha
Parameters
point |
The point at which to draw the top-left corner of the image. |
blendMode |
The blend mode to use when compositing the image. |
alpha |
The desired opacity of the image, specified as a value between 0.0 and 1.0. A value of 0.0 renders the image totally transparent while 1.0 renders it fully opaque. Values larger than 1.0 are interpreted as 1.0. |
rect 在当前的上下文中重新绘制整个图片的大小rect
blendMode:(CGBlendMode)blendMode
alpha:(CGFloat)alpha 在当前的上下文中重新绘制图片的大小、模式和透明度rect 在指定的矩形中使用Quartz pattern来拼凑图片UIImageRenderingMode:UIImageRenderingModeAutomatic, UIImageRenderingModeAlwaysOriginal, UIImageRenderingModeAlwaysTemplate,
UIkit框架之UIimage的更多相关文章
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage ...
- UIKit 框架之Bar、Controller
UIKit框架中有各种Bar,UITabBar.UINavigationBar.UIToolbar.Bar对应的就有一些Item,tabBarItem.navigationItem.toolbarIt ...
- UIKit框架使用总结--看看你掌握了多少
一.经常使用的,基本就是每次项目迭代都需要使用的 UIView.UILabel.UIImage.UIColor.UIFont.UIImageView.UITextField.UIButton. UIS ...
- Swift - 重写UIKit框架类的init初始化方法(以UITabBarController为例)
原来写了篇文章讲UITabBarController的用法,当时是从UIViewController跳转到UITabBarController页面,代码如下: 1 self.presentViewCo ...
- UIKit框架
在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应 ...
- iOS学习32之UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 基础框架Fundation和UIkit框架的定义和使用
Foundation 框架为所有应用程序提供基本的系统服务 您的应用程序以及 UIKit 和其他框架,都建立在 Foundation 框架的基础结构之上.Foundation 框架提供许多基本的对象类 ...
- iOS开发UIKit框架-可视化编程-XIB
1. Interface Builder 可视化编程 1> 概述 GUI : 图形用户界面(Graphical User Interface, 简称GUI, 又称图形化界面) 是指采用图形方式显 ...
- 79、iOS 的Cocoa框架、Foundation框架以及UIKit框架
Cocoa框架是iOS应用程序的基础 1. Cocoa是什么? Cocoa是 OS X和ios 操作系统的程序的运行环境. 是什么因素使一个程序成为Cocoa程序呢?不是编程语言,因为在Cocoa开发 ...
随机推荐
- JavaScript表单编程
一. form的方式 1.直接定位方式 document.getElementById(id);</br> document.getElementsTagName(tagName);< ...
- Java GC系列(3):垃圾回收器种类
本文由 ImportNew - 好好先生 翻译自 javapapers. 目录 垃圾回收介绍 垃圾回收是如何工作的? 垃圾回收的类别 垃圾回收监视和分析 在这篇教程中我们将学习几种现有的垃圾回收器.在 ...
- Feistel密码结构
分组密码:是一种加解密方案,将输入的明文分组当作一个整体出来,输出一个等长的密文分组. 典型的分组大小为64位和128位.密钥长度一般为128位.迭代轮数典型值为16轮. Feistel 密码结构是用 ...
- nyoj------布线问题(kruscal+求最小值)
布线问题 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 南阳理工学院要进行用电线路改造,现在校长要求设计师设计出一种布线方式,该布线方式需要满足以下条件:1.把所有 ...
- python中数据的变量和字符串的常用使用方法
1.查看变量类型: a=2 print(a,type(a)) print的用法:在print后面跟多个输出,可以用逗号分隔. 回收变量名,如把a存储不同的数据,你不需要删除原有变量就可以直接赋值 2. ...
- SELECTION-SCREEN 文本丢失
最近有点无聊....随便找点东西填了... 自从系统上线,经常出现程序的的文本丢失,然后选择界面就变成英文的了....一直在出现,就是解决不了,不知道到底是哪里的问题 严重怀疑是服务器上文件丢失... ...
- 继承多态绕点 Java篇
上一篇把C#语言的继承,多态里的特殊的情况做了一下总结,其实那一部分代码都是从Java翻译过去的,今天来总结一下Java在这种情况下是怎么调用的. 上一篇我们说的是:1.多态,只在多态系里方法调用,很 ...
- PHP获取指定时间的上个月
主要用strtotime()这个函数 php 获得前一个月的月份 date("Y-m-d",strtotime("last month")); php获得给定时 ...
- XHR2 和[FromBody]使用说明
[FromBody]必须是application/json 否则会报415 不支持的类型 //Forms function FormsPost(data) { //Default Type x-www ...
- ASP.NET MVC 上传大文件时404
前一段时间会员的上传组件改用FLASH的swfupload来上传,既能很友好的显示上传进度,又能完全满足大文件的上传. 后来服务器升级到windows 2008,改为IIS7后,上传文件一旦超过30M ...