iOS UIImage(转载)

UIImage 是一种比较有难度的显示图片的方式,UIImage 可以从文件或者 ImageData
中来显示图片。 如果可以图形化操作,建议使用 ImageView 这个 Control
来显示图片,毕竟是图形化可视操作。

当从 ImageData 中创建图片的时候,一定要注意图片的大小和尺寸,因为这样是存在内存中,如果图片过大或者图片过多,很容易引起内存泄漏;如果是从
文件 中选择图片,则可以手工选择图片是否缓存在内存中。

UIImage 支持的图片类型有:tiff,tif,jpg,jpeg,gif,png,bmp,bmpf,ico,cur,xbm.

UIImage 常用来从文件中加载图片的方法有以下种:

1. + (UIImage *) imageNamed:(NSString *)name

特点:最方便,最快捷的加载图片方式。但是,利用该方式加载图片,在第一次加载之后,图片会cache

在内存中,所以有一定的风险造成内存泄漏,一定不要加载过大或一次性夹在过多的图片,并在使用后立即进行内存释放;

参数 name ,为文件名,如果 图片存放在 项目路径中 的子物理文件夹内,也只需指定文件名即可,系统会自动找到子目录下的这个图片.

2. + imageWithContentsOfFile: or  -
(id)initWithContentsOfFile:(NSString *)path

特点:使用起来代码较多,但是不会将图片 cache 在内存中,但是需要提供图片的具体路径和图片名

示例代码,设置当前 ViewController(UIViewController) 的背景图片:


//设置当前  ViewController(UIViewController) 背景图片

//第一种方法
UIImage *bgImage = [UIImage imageNamed:@"bg.png"];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgImage];

//第二种方法
NSString *path = [[NSBundle mainBundle] pathForResource:@"bg.png" ofType:nil inDirectory:@""];
UIImage *bgImage2 = [[UIImage alloc]initWithContentsOfFile:path];
self.view.backgroundColor = [UIColor colorWithPatternImage:bgImage2];

转自:http://www.cnblogs.com/xunziji/archive/2012/09/25/2701928.html

不太明白作者怎么那么痛恨转载,反正我是转了,留着以后好查阅。

iOS UIImage(转载),布布扣,bubuko.com

时间: 2024-12-28 10:54:48

iOS UIImage(转载)的相关文章

IOS UIImage类方法总结

IOS中对图片的处理 UIImage 相信做项目时肯定会有用到 UIImage 这个类,那我们就来看一下这个类中都有什么内容. 其实这篇文章就是在看文档的时候想记录一下文档中得方法. UIImage 继承于NSObject 下面介绍一下UIImage中的方法 首先是我们最常用的 通过图片的文件名来获取这个图片 + (UIImage *)imageNamed:(NSString *)name //要注意的是这个方法适用于已经导入到工程中的图片 创建新图片 1.+ (UIImage *)imageW

iOS 滤镜 转载,原文见正文首行链接

转载自:http://blog.sina.com.cn/s/blog_5fb39f9101018gv7.html 直接上代码了: // // ViewController.m // 图片模糊处理 // // Created by wusiping on 16/1/28. // Copyright © 2016年 wusiping. All rights reserved. // #import "ViewController.h" #import <AssetsLibrary/A

iOS UIimage的拉伸的三种方法

第一种方法 // - (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight __TVOS_PROHIBITED; //leftCapWidth:左边不拉伸区域 //topCapHeight:上面不拉伸区域 UIImage *image =[UIImageimageNamed:@"chatdetail_info_other"]; UI

截取部分图片并显示-ios例子[转载]

截取部分图片并显示 在ios开发中,肯定会碰到需要截取部分图片的情况. 最终的效果类似这样: 先看最原始的示例,显示完整的图片 写了个最简单的读取图片并显示的代码,打算以此为开始,逐渐实现截取部分图片的功能. 代码主要是,在控制器代码中: - (void)loadView {     [[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation: UIStatusBarAnimationSlide];     UI

iOS UIImage 转NSString

项目中可能会有这样的需求,比如图片上传服务器时一般都会转成NSString再上传 那么问题来了,图片如何转为NSString ,已经被转为NSString的图片如何再转成图片 其实很简单,给大家两个方法就ok //图片转字符串 -(NSString *)UIImageToBase64Str:(UIImage *) image { NSData *data = UIImageJPEGRepresentation(image, 1.0f); NSString *encodedImageStr = [

ios uiimage初始化时的两种方法

第一种方式:UIImage *image = [UIImage imageNamed:@"image"]; 使用这种方式,第一次读取的时候,先把这个图片存到缓存里,下次再使用时直接从缓存中读取:优点:只有第一次使用的时候稍慢,接下来在使用就会稍快:缺点:如果在当前工程中只使用一次会浪费内存. 第二种方式:initWithContentsOfFiles初始化时,每次都会根据路径去读取,不会占用内存,如果图片在当前工程中只使用一次,应该选择这个方法.

iOS UIImage 使用resizableImageWithCapInsets 适配UIImageView

//定义要选取图片的那一部分进行伸展,这个Inset就是图片的一部分,类似于截图工具中的rect,一定要全都是图片的内容层 UIEdgeInsets inset; inset.top = 0; inset.left = 5; inset.right = 35; inset.bottom = 0; // 本文选择的图片sender.png大小是40*40 UIImage *newImage = [[UIImage imageNamed:@"sender"] resizableImageW

iOS UIImage 拉伸问题 (适用于UIButton等需要局部拉伸的情况)

图片 有的切图切很大 还占用ipa大小,有时候 切图 只需要 局部或者说 一个压缩的图片的抽象状态 直接上代码 CGFloat top = 10; // 顶端盖高度 CGFloat bottom = 10 ; // 底端盖高度 CGFloat left = 10; // 左端盖宽度 CGFloat right = 10; // 右端盖宽度 UIEdgeInsets insets = UIEdgeInsetsMake(top, left, bottom, right); [optionButton

IOS - UIImage加载内存性能比较

+ (UIImage )imageNamed:(NSString )name + (UIImage )imageNamed:(NSString )name 这种加载会有缓存,图片所占用的内存会一直停留在程序中,name是图片文件名 UIImage *textviewBackgroundImage= [[UIImage imageNamed:@"service_textview_background.png"] + (UIColor )colorWithPatternImage:(UII