zoukankan      html  css  js  c++  java
  • 【iOS入门】UIImage及相关类

    iOS image
    UIImage
    创建过程
    UIImage 常规创建过程
    UIImage *image =[ UIImage imageNamed:@"xx.png"];

    CGmage的创建过程
    CGImageRef imageRef = CGImageCreateWithImageInRect(image.CGImage,CGRectMake(0,0,size.width,size.height));
    或者
    UIImage *image =[ UIImage imageNamed:@"xx.png"];
    CGImageRef imageRef = [image CGImage];

    CGImage
    CGmage的创建过程
    CGImageRef imageRef =CGImageCreateWithImageInRect(image.CGImage,CGRectMake(0,0,size.width,size.height));

    或者

    UIImage *image =[ UIImage imageNamed:@"xx.png"];
    CGImageRef imageRef = [image CGImage];

    CIImage
    创建
    NSString *path = [[NSBundle mainBundle] pathForResource:@"bbg" ofType:@"jpg"];
    NSURL *myURL = [NSURL fileURLWithPath:path];

    CIImage *ciImage = [CIImage imageWithContentsOfURL:myURL];


    三者区别
    CIImage 包含了创建图片的所有必要的数据,但其本身没有渲染成图片,它代表的是图像数据或者生成图像数据的流程(如滤镜);
    CGImage是基于像素的矩阵,每个点都对应了图片中点的像素信息;
    UIImage 管理图片数据,主要用来展现,如 UIImageView 中,控件中等,也可以用来直接在 view 或其他的 context 中绘制。
    CIImage包含图片的所有必要数据,如作者信息,图片类型,拍摄地点,图片大小等等信息。
    UIImage也会包含一些图片的必要数据,如图片大小,图片宽高。但在CIImage转UIImage的时候,会丢失一部分信息,如作者信息等非必要数据。

  • 相关阅读:
    libevent中的基本数据结构---queue.h
    TCP 连接关闭及TIME_WAIT探究
    网络程序中常用的三种心跳机制----服务器端
    TCP程序中发送和接收数据
    如何编写一个稳定的网络程序(TCP)
    Linux 编程--三种常用的定时器
    Libevent 事件循环(2)---事件被加入激活队列
    单机千万并发连接实战(修订版)
    千万并发连接实战
    kqueue例子
  • 原文地址:https://www.cnblogs.com/mamamia/p/12171053.html
Copyright © 2011-2022 走看看