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,略有修改

  • 相关阅读:
    正则表达式全部符号解释
    如何在开机启动时自动打开小键盘灯
    SQL SERver2005中row_number() 的用法
    用命令打开控制面板的各项
    SQL Server 2008 对 TSQL 语言的增强
    SQL2000DBCC DBREINDEX重建索引提高SQL Server性能
    Sql Server 中常用的字符串函数
    coalesce的用法
    word to PD R qm addin 运行时错误‘91’
    Windows系统:开始–运行–命令大全
  • 原文地址:https://www.cnblogs.com/xiaochaozi/p/3681252.html
Copyright © 2011-2022 走看看