数据管理:数据管理是每一个上下文程序都需要进行操作的。读写功能。
需要注意的是:在读写数据时首选的是使用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..从数据源获目的地取信息。