论矢量图形编辑系统的数据模型及实现
摘 要:以电力行业一次、二次接线图的编辑为实际应用背景,以减少软件开发人员的SVG代码编写工作量、避免编程过程中的错误为目的,提出了一组支持SVG的矢量图形编辑系统的数据模型,讨论了该系统的设计思想和体系结构,并对各部分功能进行了分析。
关键词:SVG;矢量图形;模型
中图分类号:TB
文献标识码:A
文章编号:1672-3198(2011)14-0236-01
1 图形对象的性质及其类结构
图形是一种比较自然的信息表达方式,图形对象可以理解为一幅具体画面中的一个部件或实际存在的基本图形元素。图形对象的类结构可用下列集合表达式表达:总类一{文本类,图形类}。
图形类一{基本图形类,组合图形类,复杂图形类,图元类基本图形类一{点,直线,矩形,圆,…};
组合图形类一{子图类,合图类};
图元类={普通图元类,广义图元类,属性类};
普通图元类一{立体图元类,平面图元类};
属性类={色彩,线型,填充方式,…}。
图形对象是本系统数据结构中最基本的对象,是使用面向对象方法设计图形编辑系统的基础,它可以用一个五元组表示为:GN,是图形对象的名字或标识;CN是图形类的名字或标识;DS是图形对象的图形数据集;SA是图形对象的状态参数;OA是图形对象的操作参数。
2 图元模型
图元在SVG中的表示必须既包含几何形状的信息,又要包含实际的应用属性信息。根据这些要求,图元可以用BNF描述表示如下[]:];
::=[];
::一[{}];
::=[];
::一[{}];
::={=};
::=[{}];
::={=}。
由此可见,图元的SVG表示可由几何形状、应用属性和交互事件组成。图元的几何形状可以表示为图元所包含的基本图形的组合。
3 SVG文档的解析模型
由于SVG文档是一个基于XML的文本文件,在对SVG文档进行加载和保存时必须借助XML语法解析器。根据对文档的不同处理方式,XML解析器可分为基于DOM的解析和基于SAX的解析。本系统采用DOM接口对SVG文档进行解析。
D0M是一种树状模型。利用DOM接口对SVG文档进行分析之后,其中的信息都会被转化成一棵对象节点树。在这颗节点树中,有一个根结点即Document节点,所有其他节点都是根结点的后代节点。节点树生成后,就可以通过E0
论矢量图形编辑系统的数据模型及实现 来自淘豆网www.taodocs.com转载请标明出处.