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 equal
if ([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开发 ...
随机推荐
- python 练习 9
#!/usr/bin/python # -*- coding: UTF-8 -*- for i in range(1,5): for j in range(1,5): for k in range(1 ...
- ArcMap中"开始编辑"遇到一个或多个带有警告的图层“如果继续,可能无法编辑某些图层”的警告框
开始编辑后可能出现的错误: 如果 ArcMap 在所选数据上启动编辑会话时遇到问题,将弹出一个对话框以提供附加信息.您可能会收到错误.警告或信息消息. 出现错误 时用户不可以启动任何编辑会话.只有解 ...
- edm注意细节
Email Direct Marketing不要有js,css也放在html里面不能有热区,所有的border要设置为0在浏览器里面邮件发送可能会歪掉,可以测试接受后是否歪掉 有点时候表格会有细缝等等 ...
- 菜单滑动-menu swipe
http://tympanus.net/codrops/ http://www.idangero.us/sliders/swiper/index.php //触摸滑动
- 关于C语言和汇编语言相互嵌套调用
1.C嵌套汇编 首先说一下关于GCC编译嵌有汇编语言的c语言吧,GCC编译的汇编语言不是我们上课时学的Intel x86汇编,而是AT&T汇编,两者的区别可以查看<Gcc使用的内嵌汇编语 ...
- 静态库 && 动态库
http://weihe6666.iteye.com/blog/1100065 http://www.cnblogs.com/skynet/p/3372855.html 静态库: 在链接阶段,将汇编生 ...
- JDE隐藏Constant等(Hide Object)
Grid中隐藏列,列值可以使用属性配置,但是列表头Constant需要用函数修改,如下所示:
- ASP.NET-【缓存】-使用ASP.NET缓存
缓存一个List 泛型结构 1.显示 var s = Get("personsl"); foreach (var item in s) { Response.Write(item. ...
- 如何获得bin/Debug目录的路径?
这个可以使用下面的方法 答案:bin目录:通过应用程序集合AppDomain.CurrentDomain.BaseDirectory:带有"\"System.Environment ...
- NetworkComms网络通信框架V3结构图
NetworkComms网络通信框架序言 来自英国的c#网络通信框架,历时五年打造,由英国剑桥的2位工程师倾情开发,最新版本V3.x版本.