MacOS开发 技术集锦iOS开发 技术集锦

Quartz 2D 之Data Management

2016-11-21  本文已影响52人  雪_晟

数据管理:数据管理是每一个上下文程序都需要进行操作的。读写功能。

需要注意的是:在读写数据时首选的是使用Image I/O框架,更多关于CGImageSourceRefandCGImageDestinationRefopaque data types可以查看Image I/O Programming Guide

Quartz 识别三种读写类型:
     URL:你可以使用Core Foundation 数据类型CFURLRef 传递一个URL

    CFData:Core Foundation 的数据类型CFDataRefandCFMutableDataRef,在Cocoa framework 里是NSData 类型。

    Raw data:元数据(在Mac OX 中通了访问Core Image的接口)

Moving Data into Quartz 2D    写入

上面的列表汇总了从数据源获取数据的方法。除了CGPDFDocumentCreateWithURL,返回值要么是一个CGImageSourceRef要么是一个CGDataProviderRef。图像源和数据提供者抽象了数据访问任务,并消除了应用程序通过一个原始内存缓冲区管理数据的需要。图像源是写入Quartz的首选方法。一个图像源代表了各种各样的图像数据。一个图像源包括一个以上的图像,缩略图图像和每个图像、每个图像文件的属性。在你有了一个CGImageSourceRef对象之后,你可以完成以下的任务:

1.通过方法CGImageSourceCreateImageAtIndex,CGImageSourceCreateThumbnailAtIndex, orCGImageSourceCreateIncremental.创建图像(CGImageRef)

2.调用方法CGImageSourceUpdateDataorCGImageSourceUpdateDataProvider.给数据源添加内容。

3.通过调用方法CGImageSourceGetCount,CGImageSourceCopyProperties, andCGImageSourceCopyTypeIdentifiers.从数据源获取信息。

当你指定URL时创建一个PDF文档 ,方法CGPDFDocumentCreateWithURL是最便利的。

Moving Data out of Quartz 2D   读取

上面的列表汇总了从数据源获取数据的方法。除了CGPDFDocumentCreateWithURL,返回值要么是一个CGImageSourceRef要么是一个CGDataConsumerRef。图像源和数据提供者抽象了数据写入任务,。图像源是读取Quartz的首选方法。一个图像源目的地代表了各种各样的图像数据。一个图像源包括一个以上的图像,缩略图图像和每个图像、每个图像文件的属性。在你有了一个CGImageDestinationRef对象之后,你可以完成以下的任务

1.通过方法CGImageDestinationAddImageorCGImageDestinationAddImageFromSource.把图像(CGImageRef)添加到目的地。

2.调用方法CGImageDestinationSetProperties.设置属性

3.通过调用方法CGImageDestinationCopyTypeIdentifiersorCGImageDestinationGetTypeID..从数据源获目的地取信息。

上一篇 下一篇

猜你喜欢

热点阅读