zoukankan      html  css  js  c++  java
  • CGImageRef 与 UIImage

    简单的说,CGImageRef是与位图打交道的

    先来看一段e文


    翻译一下:

        1)NSImage 是一个抽象类,它能代表各种图像类型,同时也能定义各种图像。通常,大家如果对图像的类型不在意的话,NSImage是很好用的。同时,他也是Appkit唯一能接受的图像类,至少到目前为止是这样。(Appkit , UIKit 是iphone里界面,UI的库)

        2)CGImage只能代表bitmaps。如果你像直接和bitmap 数据打交道,CGImage是很好的选择。对CGImage的操作都在Core graphics中,诸如混合(blend)和遮罩(masking)需要CGImageRef。 CGImageRef 能用来创建NSBitmapImageRep, 它能添加到NSImage。

        3)我认为官方文档对于CIImage的定义最为准确:

        尽管 CIImage 对象中包含了与它相关的图像数据,它并不是一个图像。你可以把 CIImage 对象看作一个图像“处方”。一个 CIImage 对象中包含了生成一个图像的所需要的所有信息,不过核心绘图系统在没有得到明确指令的情况下是不会绘制这个图像的。“懒惰评估”机制 (请参考“过滤器客户和过滤器创建者”) 允许核心绘图系统尽可能高效的运行

        基于Mac OS X的GPU优化图像滤镜各种算法,要求使用CIImages。但是,诸如 CGImageRefs,他们能转换为 NSBitmapImageReps

    两者只见互相转换得方法

    1. CGImageRef转换成UIImage 

    CGImageRef iOffscreen = CGBitmapContextCreateImage(context);

    UIImage* image = [UIImage imageWithCGImage: iOffscreen]; 

    2.UIImage转换成CGImageRef 

    UIImage *loadImage=[UIImage imageNamed:@"comicsplash.png"];

    CGImageRef cgimage=loadImage.CGImage;

    大部分转载于http://blog.csdn.net/linzhiji/article/details/6738462,略有修改

  • 相关阅读:
    在jQuery中.bind() .live() .delegate() .on()的区别
    jquery小结测试题
    揭秘子类构造函数执行过程
    过滤器
    实现AJAX的基本步骤
    AJAX 原生态
    java工程师需要学什么
    Java进阶之路
    git入门大全
    轻松学JVM
  • 原文地址:https://www.cnblogs.com/xiaochaozi/p/3681252.html
Copyright © 2011-2022 走看看