- 浏览: 13633235 次
- 性别:
- 来自: 洛杉矶
文章分类
- 全部博客 (1994)
- Php / Pear / Mysql / Node.js (378)
- Javascript /Jquery / Bootstrap / Web (435)
- Phone / IOS / Objective-C / Swift (137)
- Ubuntu / Mac / Github / Aptana / Nginx / Shell / Linux (335)
- Perl / Koha / Ruby / Markdown (8)
- Java / Jsp (12)
- Python 2 / Wxpython (25)
- Codeigniter / CakePHP (32)
- Div / Css / XML / HTML5 (179)
- WP / Joomla! / Magento / Shopify / Drupal / Moodle / Zimbra (275)
- Apache / VPN / Software (31)
- AS3.0/2.0 / Flex / Flash (45)
- Smarty (6)
- SEO (24)
- Google / Facebook / Pinterest / SNS (80)
- Tools (22)
最新评论
-
1455975567:
xuezhongyu01 写道wocan23 写道我想问下那个 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
xuezhongyu01:
wocan23 写道我想问下那个111.1是怎么得来的我也看不 ...
Mysql: LBS实现查找附近的人 (两经纬度之间的距离) -
18335864773:
试试 pageoffice 在线打开 PDF 文件吧. pag ...
jquery在线预览PDF文件,打开PDF文件 -
青春依旧:
opacity: 0.5; 个人喜欢这种方式!关于其他css特 ...
css透明度的设置 (兼容所有浏览器) -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
搞定网页打印自动分页问题
UIKit中有一些类可以用来操纵单个图像,还有一个图像类可以用来显示图像。Apple还提供了一种特殊的导航控制器,用于从图像库中选择图像。
UIImage类对图像及其底层数据进行封装。它可以直接绘制在一个视图内,或者作为一个图像容器在另一个更大的图像视图容器中使用。这个类类提供的方法可以用来从各种来源中载入图像,在屏幕上设置图片的方向,以及提供有关图像的信息。对于简单的图形应用,可以将UIImage对象用在视图类的drawRect方法中,用来绘制图像和团模板。
你可以用文件来初始化,也可以用url、原始数据、或者一个Core Graphics图像的内容。静态方法(类方法)和实例方法都有;这些方法可以引用并缓存已有的图像内容,也可以实例化新的图像对象,如何使用完全取决于应用程序的需要。
使用一个图像的最简单方法就是通过静态方法。静态方法不会去管理图像的实例,与之相反,他们提供了直接的接口,可以用来共享位于框架内部的记忆体缓存对象。这有助于保持应用程序的整洁,也会生去做清理工作的需要。静态方法和实例方法都可以用来创建相同的对象。
一、使用文件创建(静态方法)
UIImage *myImage = [UIImage imageNamed:@"ppp"];
二、使用 URL 和原始数据(静态方法)
NSData *imageData = [ NSData initWithBytes:image:imagePtr length:imageSize ]; // 假设 imagePtr 是一个指向原始数据的指针 UIImage* myImage = [ [ UIImage alloc ]initWithData:imageData ];
UIImage *myImage2 =[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.kutx.cn/xiaotupian/icons/png/200803/20080327095245737.png"]]];
三、使用Core Graphics (静态方法)
UIImage* myImage3 = [UIImage imageWithCGImage:myCGImageRef];
四、使用文件(实例方法)
UIImage* myImage4 = [[UIImage alloc]initWithContentsOfFile:[NSString stringWithFormat:@"%@/Documents/ppp.png",NSHomeDirectory()]];
五、使用 URL 和原始数据(实例方法)
如果图像存储在内存中,你可以创建一个NSData 对象作为initWithData 方法的原始输入,来初始化一个UIImage对象。
如果图像是一张网络图片,可以使用NSData来进行预载,然后用它来初始化UIImage对象:
UIImage *myImage5 =[ [ UIImage alloc]initWithData: [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.kutx.cn/xiaotupian/icons/png/200803/20080327095245737.png"]] ];
六、使用Core Graphics (实例方法)
UIImage* myImage6 = [[UIImage alloc]initWithCGImage:myCGImageRef];
七、显示图像
当视图类的drawRect 方法被唤起时,它们会调用内部的回吐例程。与其他图像类不同,UIImage对象不能被当成子 ,直接附着在其他视图上,因为他不是一个视图类。反过来,一个UIView类则可以在视图的drawRect例程中,调用图像的 drawRect 方法。这可以使得图像显在UIView类的显示区域内部。
只要一个视图对象的窗口的某些部分需要绘制,就可以调用它的drawRect方法。要在窗口内 部显示一个 UIImage 的内容,可以调用该对象的 drawRect 方法:
- (void)drawRect:(CGRect)rect{ CGRect myRect; myRect.origin.x = 0.0 ; myRect.origin.y = 0.0; myRect.size = myImage.size; [myImage drawInRect:myRect]; }
注意不要在drawRect方法内分配任何新对象,因为他在每次窗口重绘时都被调用。
只有在视图初次绘制时,才会调用drawRect方法。要强制更新,可以使用视图类的 setNeedsDisplay 或者 setNeedsDisplayInRect 方法:
[myView setNeedsDisplay]; [myView setNeedsDisplayInRect:self.view];
八、绘制图案
如果图像是一个图案模板,你可以用UIImage类提供的另外一个方法 drawAsPatternInrect,在整个视图区域重复绘制该图像:
UIView* myView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 200, 200)]; [myImage drawInRect:myView.frame]; [self.view addSubview:myView];
九、方向
一个图像的方向,决定了它在屏幕上如何被旋转。因为iPhone 能被以6种不同的方式握持,所以在方向改变时,能够将图像做相应的旋转就十分必要了。UIImage 有个只读属性 imageOrientation 来标识它的方向。
UIImageOrientation myOrientation = myImage.imageOrientation ;
可以设置以下方向:
typedef enum { UIImageOrientationUp, // default orientation 默认方向 UIImageOrientationDown, // 180 deg rotation 旋转180度 UIImageOrientationLeft, // 90 deg CCW 逆时针旋转90度 UIImageOrientationRight, // 90 deg CW 顺时针旋转90度 UIImageOrientationUpMirrored, // as above but image mirrored along other axis. horizontal flip 向上水平翻转 UIImageOrientationDownMirrored, // horizontal flip 向下水平翻转 UIImageOrientationLeftMirrored, // vertical flip 逆时针旋转90度,垂直翻转 UIImageOrientationRightMirrored, // vertical flip 顺时针旋转90度,垂直翻转 } UIImageOrientation;
十、图像尺寸
你可以通过size属性读取一个图像的尺寸,得到一个CGSize 结构,其中包含 wifth 和height 。
CGSize myImageSize = myImage.size;
十一、UIImageview 点击事件
UIImageView *imageView =[[UIImageView alloc]initWithFrame:CGRectMake(100, 100, 200, 200)]; imageView.image=[UIImageimageNamed:@"filter_laozhaopian_a.png"]; imageView.userInteractionEnabled = YES; UITapGestureRecognizer *singleTap = [[UITapGestureRecognizeralloc] initWithTarget:selfaction:@selector(UesrClicked:)]; [imageView addGestureRecognizer:singleTap]; [singleTap release]; [self.view addSubview:imageView];
来源:http://blog.csdn.net/iukey/article/details/7308433
使用UIImageView来播放动画.
-(void)viewDidLoad { [superviewDidLoad]; self.title=NSLocalizedString(@"ImagesTitle",@""); //setupourUIImagewithagrouporarrayofimagestoanimate(orinourcaseaslideshow) self.imageView.animationImages = [NSArrayarrayWithObjects:[UIImageimageNamed:@"scene1.jpg"],[UIImageimageNamed:@"scene2.jpg"],[UIImageimageNamed:@"scene3.jpg"],[UIImageimageNamed:@"scene4.jpg"],[UIImageimageNamed:@"scene5.jpg"], nil ]; imageView.animationDuration=5.0; [self.imageViewstopAnimating]; //Settheappropriateaccessibilitylabels. [self.imageViewsetIsAccessibilityElement:YES]; [self.imageViewsetAccessibilityLabel:self.title]; [self.slidersetAccessibilityLabel:NSLocalizedString(@"DurationSlider",@"")]; }
发表评论
-
手机firebug查看网页代码 How to View Website Source Codes on iPad / iPhone
2016-04-26 02:41 1122You’re using your iPad to br ... -
Android模拟器genymotion的安装和使用
2016-03-18 01:16 2471Genymotion概述 Genymotion是一套完整的 ... -
编码之道:取个好名字很重要
2015-10-14 05:19 1119代码就是程序员的孩子,给“孩子”取个好听的名字很重 ... -
Genymotion - 强大好用高性能的 Android 模拟器 (在电脑流畅运行APK安卓软件游戏的利器)
2015-06-05 13:34 7323随着 Android 系统的应用和游戏越来越丰富,甚至有 ... -
收集几个移动平台浏览器的User-Agent
2014-07-23 02:33 2977List of all Mobile Browsers ... -
常用浏览器修改User-Agent的方法
2014-06-28 02:58 10905之前有介绍收集的几个移动平台浏览器的User-Agent,以 ... -
更简洁的方式修改Chrome的User Agent,轻松体验移动版网络
2014-06-28 02:53 6869国庆节在家宅着,使用3g上网卡上网,和在公司上网不一样的是 ... -
3个检测浏览器User-Agent信息的网站
2014-06-28 02:52 2498刚刚在收集各个移动平台浏览器的User-Agent(参见这 ... -
根据移动设备屏幕像素密度,给予不同分辨率的图片
2014-06-26 00:52 2909在出现iphone4之前的相当长的时间内,网站开发人员 ... -
视网膜New iPad与普通分辨率iPad页面的兼容处理
2014-06-26 00:44 1275一、这是篇经验分享 ... -
iOS8开发-Swift编程
2014-06-25 00:45 1829课时列表 章节1:第一个Swift应用 ... -
Swift中文教程(二十三) 高级运算符
2014-06-25 00:43 783除了基本操作符中所讲的运算符,Swift还有许多复杂的高级 ... -
Swift中文教程(二十二) 泛型
2014-06-25 00:35 1005泛型代码可以让你写出根据自我需求定义、适用于任何类型的,灵 ... -
Swift中文教程(二十一) 协议
2014-06-24 05:25 1013Protocol(协议)用于统一方法和属性的名称,而不实现任 ... -
Swift中文教程(二十) 扩展
2014-06-24 00:47 686扩展就是向一个已有的类、结构体或枚举类型添加新功能(fun ... -
Swift中文教程(十九) 类型嵌套
2014-06-24 00:44 887枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量 ... -
Swift中文教程(十八) 类型检查
2014-06-24 00:41 725类型检查是一种检查类实例的方式,并且或者也是让实例作为它的 ... -
Swift中文教程(十七) 可选链
2014-06-17 05:11 864可选链(Optional Chaining)是一种可以请求 ... -
Swift中文教程(十六) 自动引用计数
2014-06-17 05:05 1245Swift使用自动引用计数(ARC)来管理应用程序的内存使 ... -
Swift中文教程(十五) 析构
2014-06-17 04:57 997在一个类的实例被释放之前,析构函数会被调用。用关键字dei ...
相关推荐
iOS游戏应用源代码——r3econ-UIImage-Sprite-Additions-0738b37.zip
颜色创建图像工具 UIImage-ImageWithColor ,UIImage-ImageWithColor 是一款使用颜色创建图像的工具
uiimage-from-animated-gif, 加载动画gif的UIImage类别 摘要这个项目在 UIImage 上定义了一个类别 animatedGIF 。 类别定义了两种方法。 这里方法使用 data 中GIF的帧创建动画 UIImage: [UIImage ...
WebP-UIImage-源码.rar
UIImage-Extensions
UIImage-PDF ,UIImage-PDF 是 UIImage 的分类,实现让 UIImage 支持 PDF 文档的显示...
UIImage Compress - (UIImage *)compressedImage; - (CGFloat)compressionQuality; - (NSData *)compressedData; - (NSData *)compressedData:(CGFloat)compressionQuality; - (UIImage *)...
iOS图片压缩---UIImage+Wechat【可以对图片进行很好的压缩,而且像素不会减少很多,很优秀的图片压缩框架】
UIImage + ImageCompress是一个UIImage类别,可压缩本地或远程UIImage 安装 使用安装 pod 'UIImage+ImageCompress' 用法 UIImage *imageToCompress = [UIImage imageNamed:@"theJoker.jpg"]; UIImage *...
Uiimage+category,uiimage+watermark,uiimageview+category实现对于图片添加水印的功能
UIImage-BlurredFrame, UIImage类别,模糊了UIImage的指定框架 UIImage+BlurredFrame是一个UIImage类别,模糊了UIImage的指定框架#Install使用 cocoapods 安装pod 'UIImage+BlurredFrame'#Usage
IOS应用源码——UIImage+Sprite for iOS.rar
STPhotoBroswer * broser = [[STPhotoBroswer alloc]initWithImageArray:@[[UIImage imageNamed:@"1.jpg"],[UIImage imageNamed:@"2.jpg"],[UIImage imageNamed:@"3.jpg"],[UIImage imageNamed:@"1.jpg"],[UIImage ...
整个调用方法: [takePhoto sharePicture:^(UIImage *HeadImage){ [self.headBtn setBackgroundImage:HeadImage forState:UIControlStateNormal]; }];
用于在 iOS 中处理WebP图像文件的UIImage类别。 安装 将Classes文件夹和WebP.framework到您的项目中。 用法 开始使用WebP-UIImage很简单。 导入框架#import "UIImage+WebP.h"并调用以下方法: - ( NSData *)...
XTYRandomKeyboard *keyBoad = [[XTYRandomKeyboard alloc] initWithTitleColor:[UIColor blackColor] backGroundImage:[UIImage imageNamed:@"bg.jpg"]]; [keyBoad setInputView:textField]; [self.view ...
适用于iOS的完整动画GIF支持,包括函数,NSJSONSerialization样式类和(可选)UIImage Swizzling
UIImage-MARKColorizer 用于图像着色的 UIImage 类别。 使用 CGBlendMode 对图像进行操作。 查看 Apple 文档了解更多信息: : 有关如何使用 UIImage-MARKColorizer 的基本示例,请查看演示项目。演示可用方法+ ...
ImageHelper可与iPhone 4和Retina显示器配合使用,并使用正确的比例因子和高分辨率图像。 基本示例用法显示了在格式之间来回转换的能力: //查看示例项目的实际用法 NSString *path = (NSString*)[[NSBundle ...
UIImage-Teny 为 UIImage 提供方法以能够加载带有 -568h 前缀的图像。 安装 pod 'UIImage-Teeny' 用法 你应该准备图像。 我的图片.png [UIImage teenyImagedNamed: @" MyImage.png " ]; // 1. if found MyImage...