美文网首页ios动画机器学习 深度学习 人工智能
ImageIO框架详细解析(二) —— 使用ImageIO基础

ImageIO框架详细解析(二) —— 使用ImageIO基础

作者: 刀客传奇 | 来源:发表于2017-10-16 22:54 被阅读0次

    版本记录

    版本号 时间
    V1.0 2017.10.16

    前言

    ImageIO框架主要用来读写大多数图像文件格式。 管理颜色和访问图像元数据。接下来几篇我们就详细的解析这个框架。感兴趣的可以看我写的上面几篇。
    1. ImageIO框架详细解析(一) —— 基本概览

    Introduction - 介绍

    图像I / O编程接口允许应用程序读取和写入大多数图像文件格式。最初是Core Graphics框架的一部分,图像I / O驻留在自己的框架中,允许开发人员独立地使用Core Graphics(Quartz 2D)。Image I/ O提供了访问图像数据的最终方法,因为它非常高效,可以很容易地访问元数据,并提供颜色管理。

    OS X v10.4和稍后的ios4和稍后的版本中,I / O接口可用。


    谁适合看这个文章

    本文章是为在应用程序中读写图像数据的开发人员编写的。目前使用图像导入器或其他图像处理库的开发人员应该阅读该文档,了解如何使用图像I / O框架。


    文档组织

    这篇文章是由以下部分组成:


    可以参考


    基本使用

    下面我们就看一下ImageIO框架的基本使用。

    Image I / O框架提供了不透明的数据类型,用于从源(CGImageSourceRef)读取图像数据,并将图像数据写入目的地(CGImageDestinationRef)。它支持广泛的图像格式,包括标准的web格式、高动态范围的图像和原始的摄像数据。图像I / O有许多其他特征,如:

    • Mac平台最快的图像解码器和编码器
    • 逐步加载图像的能力
    • 支持图像元数据
    • 有效的缓存

    您可以从以下几个方面创建图像源和图像目标对象:

    1. Using the Image I/O Framework in Your Application - 在您的程序中使用Image I/O框架

    图像I / O驻留在OS X的应用程序服务框架中,以及在iOS中的I / O框架中。在将框架添加到应用程序之后,通过包含以下语句导入头文件:

    #import < ImageIO / ImageIO.h >
    

    2. Supported Image Formats - 支持的图像格式

    Image I / O框架可以理解大多数常见的图像文件格式,如JPEG、JPEG2000、RAW、TIFF、BMP和PNG。不是所有的格式都支持在每个平台上。对于I / O支持的最新列表,您可以调用这些函数:

    然后可以使用CFShow函数将数组打印到Xcode中的调试器控制台,如Listing 1-1所示。这些函数返回的数组中的字符串以com.apple.pict, public.jpeg, public.tiff的形式返回。Table 1-1 列出了许多常见图像文件格式的UTIs。OS X和iOS为大多数常见的图像文件格式定义了常量,完整的常量集在UTCoreTypes中声明。当你需要指定一个图像类型,您可以使用这些常量,要么作为一个图像源的提示(kCGImageSourceTypeIdentifierHint)或作为一个图像的图像类型的目的地。

    // **Listing 1-1**  Getting and printing supported UTIs
    
    CFArrayRef mySourceTypes = CGImageSourceCopyTypeIdentifiers();
    
    CFShow(mySourceTypes);
    
    CFArrayRef myDestinationTypes = CGImageDestinationCopyTypeIdentifiers();
    
    CFShow(myDestinationTypes);
    
    Table 1-1 Common uniform type identifiers (UTIs) and image content type constants

    后记

    未完,待续~~~

    相关文章

      网友评论

        本文标题:ImageIO框架详细解析(二) —— 使用ImageIO基础

        本文链接:https://www.haomeiwen.com/subject/jpuluxtx.html