2012-03-09 98 views
2

石英2D不透明数据类型石英2D不透明数据类型

石英2D API定义除了 到图形上下文多种不透明的数据类型。因为API是Core Graphics 框架的一部分,所以在上运行的数据类型和例程使用了CG前缀 。

Quartz 2D根据您的应用程序 运行的不透明数据类型创建对象以实现特定的图形输出。图1-3显示了当您将绘图操作 应用于由Quartz 2D提供的三个对象时可以实现的各种结果。例如:

您可以旋转,并通过创建一个PDF页面对象, 应用旋转操作的图形上下文,并要求 石英2D页面绘制到图形上下文显示PDF页面。

您可以通过创建一个模式对象,定义,构成了 图案的形状,并设置石英2D时 它绘制的图形上下文使用模式油漆绘制 模式。

可以通过创建一个遮蔽物体,提供了一个功能 确定在上述遮光的每个点的颜色,然后询问 石英2D使用阴影作为填充填充具有轴向或 径向阴影的区域颜色。

我无法理解的apple reference guide

,具体的事情,我有大胆的,像什么“他们”被吹罚这部分?

并请澄清一般的不透明数据类型,而不是c或C++术语。

在此先感谢, 此致敬礼。

回答

5

短语不透明类型只是表示包含或引用您不应该查看或甚至无法查看的数据的类型。例如,Quartz提供CGContextRef类型。提供了使用CGContextRef实例创建,获取,操作和释放图形上下文的功能,但不能查看CGContextRef并查看里面的内容。不使用所提供的功能,您无法合理使用或更改上下文。

+0

非常感谢您的答复,但http://en.wikipedia.org/wiki/Opaque_data_type定义说:“在计算机科学中,一个不透明的数据类型是数据类型在接口中未完全定义,因此只能通过调用可访问缺少信息的子例程来操作它的值,该类型的具体表示对其用户是隐藏的。“他们的意思是不完整的?这与接口相同吗? – Pamy 2012-03-09 07:07:27

+1

这意味着界面不会告诉你类型的内容。 CGContext.h告诉你'CGContextRef'是一个指向'struct CGContext'的指针,但这就是你所能得到的 - 没有你可以看到的CGContext的定义。它当然是在框架中提供的,但是你不能看到它,这是什么使它*不透明*。 – Caleb 2012-03-09 07:18:06

+0

非常感谢您的帮助。 – Pamy 2012-03-09 07:23:37