资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
Quartz 的 Quartz 2D 部分是提供图形渲染服务的图形库之一。它是为展现二维文本和图形所设计的。图形和多媒体库包括渲染二维图像的 QuickDraw 既可以渲染二维图像也可以渲染三维图像的 OpenGL 表现数字视频流和其他多媒体的 QuickTimeQuickTime 是一种交互式多媒体环境,具有图形环境和应用程序环境上的功能和特性。尽管考虑到它在 Mac OS X 架构中所处的混合状态,但是在这一节中,作为简单的概括,我们仍将把它看作为是与 Quartz 2D、QuickDraw 和 OpenGL 地位同等的图形库。所有的渲染库都直接依赖于 Quartz 的另外部分,即 Quartz Compositor 层。然而,QuickTime 和 OpenGL 却几乎不依赖于 Quartz Compositor 层,因为它们有它们自己的某种特定视窗实现机制。Quartz Compositor 由 Mac OS X 视窗服务器和由它所实现的(当前私有的)系统编程接口(SPI)来组成。视窗服务器对显示和窗口全面负责,其中包括它们的合成、配置和基本管理。同时,它也执行低级别的指针管理和事件路由。很大程度上 Quartz 是在核心图形框架(CoreGraphics.framework)中实现的。如图 34 所示,这一框架中的动态共享库,包含客户端 API 和服务器 SPI,其中服务器 SPI 是由视窗服务器自身实现的。应用程序或应用程序环境与 Quartz 2D库的客户方相链接,这些库用于渲染屏幕、生成 PDF 和其它服务。所有对服务器SPI 的访问都是由客户端 API 来转交的。在某种程度上,Cocoa 环境和 Java 环境为访问 Quartz 2D 和其它渲染库提供了它们自己的编程接口。您既可以使用 Cocoa 和 Java 接口,也可以使用在应用服务层上的编程接口。这一节的余下部分所讨论的是,在图形和视窗环境下的 Quartz 所扮演的角色。关于 QuickDraw、QuickTime 和 OpenGL 的概念内容请参考相关的 Apple 开发文档(developer.apple.com)。Quartz Compositor可以通过设置固件密码,迫使用户只能用缺省的启动装置进行启动。值得一提的是,由于苹果公司就 Intel 架构的电脑反复声明不再支持“开放固件”(Open Firmware),一些关于苹果的书籍中便误认为 Intel 架构的电脑上不能再设置固件密码。而事实上,虽然 Intel 架构的苹果机采用了 EFI(扩展固件界面) ,它们还是可以受到固件密码的保护的。无论是 PowerPC 还是 Intel 构架的电脑,具体方法如下:1 插入随机所带的系统安装盘。2 打开光盘后,到光盘下的 Applications 里的 Utilities 文件夹下,把“固件密码实用程序”复制到你正在使用的操作系统下的应用程序里的实用程序下。图为固件密码实用程序图标3 双击所复制的应用。4 点击“更改” 。5 勾选“需要输入密码才能更改固件设置” ,输入密码和验证。Mac OS X 的 Quartz Compositor 层由视窗服务器和由视窗服务器所实现的(私有的)系统编程接口(SPI)所组成。这一层负责对初始屏幕显示、视窗合成与管理、事件路由和指针管理进行响应。视窗服务器是一个单独的系统范围内的进程,用于协调低级别的视窗动作,并强制保持在屏幕上所显示视窗的基本一致性。它是一个轻量级的服务器,因为它自己不能进行渲染,但可以与位于其上层的客户图形库进行通讯。从绘画模型方面来说,它是“不会发表意见的”。视窗服务器与其它系统服务和库几乎没有依赖关系。它依赖于内核环境中的I/O Kit(尤其是,用 I/O Kit 构建的设备驱动程序),为的是与框架缓冲器、输入设备的底层结构和输入输出设备进行通讯。它也与核心服务的某些框架相链接,以获取进程管理服务,如基本进程的激活。视窗服务器的一个首要职责是视窗合成。当视窗在被绘制、被重画、覆盖和被覆盖时,由它来合成每一个应用程序的视窗像素。每个视窗都被描述成一幅位图,它包括了半透明(alpha 通道)和抗锯齿信息。位图作为缓冲器允许视窗服务器去“记住” 一个应用程序的视窗内容,并在不干涉应用程序的情况下将它进行再合成。然而,视窗服务器(Quartz Compositor)没有记忆那些被图形库(例如 Quartz 2D)用来创建视窗和其它图象的矢量信息。取而代之的是,位图被应用程序和视窗服务器所共享,应用程序直接对共享位图进行绘画操作,并相应地由视窗服务器来合成该位图。在它的 Quartz Compositor 组件中,Quartz 以一个分层式的合成引擎来作为视窗系统的模型。传统的视窗系统使用“交换“模型,在这个模型中屏幕上的每一个像素完全属于一个视窗(或桌面)。因为这种模型,转变就必然很突然;举个例子来说,当您关闭一个视窗时,它会立刻消失。在另一方面,一个分层式合成视窗系统基于“图像(视频)混合”模型。在这个模型上,屏幕中的每一个像素都能够被视窗和视窗间实时共享(尤其是在半透明和抗锯齿特性上)。这种模型允许平滑地在图形用户界面的状态间进行转换,这是 Aqua 体验所带来的与众不同的特性之一。Quartz 2Dhttp:/www.joohe.com/game/229.htmlQuartz 的 Quartz 2D 是一个具有矢量特性的图形库。它的 API 允许您通过指定一系列命令和数学程式来生成文本与图像。这些命令和程式用来在二维空间内绘制线段,几何形状,颜色,阴影,半透明效果和其它图形属性,而您无需为每一个特定像素指定属性。作为结果,一个几何形状可有效地以一系列路径和属性的方式来定义,而不是以位图的方式来定义。通过使用矢量,Quartz 2D 也能使用一种坐标系来作为绘画的参照,比方说这种坐标系是以英寸或厘米为单位的,而不是基于像素栅格。这种坐标体系很灵活,允许不同的度量标准,并且当它不与任何一个屏幕分辨率绑定时,它具有一定程度的显示独立性。它还使用了浮点坐标。优先于 Quartz Compositor 的合成,Quartz 2D 把以坐标系来表现的矢量图像信息转化为像素值。
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号