zoukankan      html  css  js  c++  java
  • iOS开发>学无止境


    iOS开发已开通评论功能

    皇天不负有心人,iOS开发的评论功能已经被邀请开通啦。这几天一直想着,微信团队大概在月底的时候会邀请我开通评论功能。果然不出我所料。这是我收到的消息:

    至此,iOS开发的原创、赞赏、评论三个功能都齐啦,这也是对我辛苦努力的一种肯定。前方的路依然很漫长,我们一起努力,让iOS开发变得更好。

    既然评论功能已经开通,大家也别闲着啦!今天的文章大家一起尽情的吐槽吧!

    UIImage有四个类方法,用来创建UIImage的。下面介绍一下每个类方法的作用和创建实例。

    1.使用类方法imageNamed:创建

    + (UIImage *)imageNamed:(NSString *)name;      // load from main bundle      

    name是照片名称。创建UIImage对象,代码如下:

    UIImage *image = [UIImage imageNamed:@"ganggang"];   
    

    使用imageNamed:初始化的时候,会先检查缓存中是否存在ganggang的照片,如不存在,图片首先会被缓存起来,然后才返回要加载的图片对象;如果存在,直接返回要加载的照片对象。

    2.使用类方法imageWithContentsOfFile:创建

    + (UIImage *)imageWithContentsOfFile:(NSString *)path;

    path是需要加载照片的路径,如何获取照片的路径请点击iOS开发之获取沙盒路径。实现代码如下:

    UIImage *image = [UIImage imageWithContentsOfFile:path];   
    

    使用imageWithContentsOfFile:创建UIImage的时候,是直接从磁盘上加载。当收到内存警告时,UIImage对象会被释放,下一次绘图的时候,需要重新加载。

    3.使用类方法imageWithData:创建

    + (UIImage *)imageWithData:(NSData *)data;

    data是照片数据,一般是请求返回的,然后通过imageWithData:创建UIImage。实现代码如下所示:

    NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://www.superqq.com/images/getqrcode.jpg"]];
    UIImage *image =[UIImage imageWithData:data]; 
    

    4.使用类方法imageWithCGImage:创建

    + (UIImage *)imageWithCGImage:(CGImageRef)cgImage;

    cgImage是定义在QuartzCore框架中的一个结构体指针。这个结构用来创建像素位图,可以通过操作存储的像素位来编辑图片。

    UIImage *image = [UIImage imageWithCGImage:cgImage];   
    

    5.使用类方法imageWithCIImage:创建

    + (UIImage *)imageWithCIImage:(CIImage *)ciImage NS_AVAILABLE_IOS(5_0);

    CIImageCoreImage框架中最基本代表图像的对象,在CIImageCIContext渲染出来之前,他是依赖于滤镜链的,滤镜是不会更改CIImage中的图像数据。

     UIImage *image = [UIImage imageWithCGImage:ciImage];   
    

    以上四种方法都是UIImage的类方法,使用UIImage的初始化方法也是可以创建UIImage对象的大家可以进UIImage详细了解一下。

    本内容来自: 超越昨天(学无止境) - http://www.cnblogs.com/xvewuzhijing/
  • 相关阅读:
    《Redis 设计与实现》读书笔记(四)
    《Redis 设计与实现》读书笔记(三)
    《Redis 设计与实现》读书笔记(二)
    《Redis 设计与实现》读书笔记(一)
    《Mysql技术内幕-InnoDB存储引擎》读书笔记 (一)
    Python调试工具
    记一次偶发的bug排查——redis-py-cluster库的bug
    苹果支付的这些漏洞,你都堵上了吗?
    微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用
    Quartz.net设置任务中同时最多运行一个实例 [DisallowConcurrentExecution]
  • 原文地址:https://www.cnblogs.com/xvewuzhijing/p/5003838.html
Copyright © 2011-2022 走看看