Quartz 2D 之Data Management

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

需要注意的是:在读写数据时首选的是使用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..从数据源获目的地取信息。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容