ios动画机器学习 深度学习 人工智能

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

2017-10-16  本文已影响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有许多其他特征,如:

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

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

后记

未完,待续~~~

上一篇下一篇

猜你喜欢

热点阅读