购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.2.3 GKS元文件标准GKSM

GKSM是图形核心系统GKS用于保存信息的一种机制。在GKS中,是用图段来存储运行过程中的信息。而当GKS关闭,图段将不会存在,所有存储在图段中的信息连同图段本身都自动丢失。为了保存GKS运行过程中所得到的图形信息,最有效的方法是采用文件的形式保存存储过程中的信息。GKS提供了一个顺序文件的接口,它能够顺序读写,用于长期存储(交换)信息,这种接口文件称为GKS的元文件GKSM(GKS Metafile)。它的作用:①统一的文件格式便于在不同图形输出设备上输出图形;②异地之间图形信息可以通过通信线路或介质(如磁盘、磁带等)传送或交换;③便于图形编辑和图形信息的存档;④和设备无关的存储格式便于图形保存和调用;⑤便于把与图形信息相辅的由应用程序定义的非图形信息统一成一种格式。

GKSM的内容和格式不是GKS标准的组成部分,它在国际标准化组织的另一个标准CGM中规定。但CGM只适用于图形的获取,对结构化图形的获取和对话获取,CGM显得无能为力。而GKSM可以精确记录送至GKS工作站的功能调用序列,它包含了GKS输出功能的全部范围,并且适用于图形的获取、结构化图形获取和对话获取。因此,虽然GKSM不是GKS标准的一部分,但是由于它是专门为GKS而设计的,并且特别适用于图形信息在不同的GKS应用程序之间传递,所以很多GKS系统仍然采用GKSM作为实现GKS元文件功能的基础。

GKSM包含二维图形,它通过调用GKS功能而产生的数据记录来表示,它的内容包括文件头、图头、输出原语、记录尾、属性以及非图形且与应用有关的数据。GKSM由逻辑上长度可变的数据记录串组成。GKS把GKSM作为一个工作站来寻址。GKS元文件有两种工作站类型:一种是GKSM输出工作站;另一种是GKSM输入工作站。由于GKS将GKSM作为特殊种类的工作站(输出工作站和输入工作站)来处理,所以对GKSM的控制就是对工作站的控制。

图2-4 GKSM结构

GKSM提供了可向上兼容的文件格式,其结构是一个逻辑项目的序列,如图2-4所示。GKSM以固定格式的文件首部开始,后面是若干个项目,最后以一个指出GKSM终结的结束项目(即文件尾)结束,以这三大部分构成整个图形元文件。项目是GKSM的基本信息单位,每个项目由项目首和项目记录组成。其中项目首包括项目类型、指定编号和项目数据记录三部分。介于两个项目之间的信息会作为对话获取并被记录下来,记录的信息包括图元项目、属性项目、图段项目、用户项目、工作站控制项目和消息项目。

GKS提供了一个元文件的接口,并且规定如何写入或读出元文件。元文件的写或读分别对应GKS元文件输出工作站和GKS元文件输入工作站。建立一个GKS元文件要通过输出工作站来完成,而将一个GKS元文件读入GKS就需要输入工作站来完成,如图2-5所示,是GKSM的读写过程,图2-5a为GKSM的写过程,图2-5b为GKSM的读过程。

图2-5 GKSM的读写过程

生成一个GKSM是在GKS的运行过程中,通过一个GKS文件输出工作站执行“打开”“启用”“停用”和“关闭”之后形成的。一旦某个GKSM生成后,就不能作为元文件输出工作站再次被打开,只有通过对应的GKS元文件输入工作站才能读出。所有的图形信息在执行一系列的GKS功能后,自动地将具体信息写入指定的GKS输入工作站中。一个由元文件输出类工作站产生的GKSM,可以通过对应类型的元文件输入类工作站输入到GKS应用程序中。GKSM输入工作站完成“打开”和“关闭”的整个过程之后,一个GKSM的输入就完成了。 9QIHOnQ4v7mFt+VXM3cZ4TSqVhhNzFLNp1gZ9T5CrM4/Ei9xLZwq7/SrtK5hlwJh

点击中间区域
呼出菜单
上一章
目录
下一章
×