北京图王软件开发有限公司产品介绍

北京图王软件开发有限公司产品介绍
――Visual Graph专业图形引擎
一、产品概述:
Visual Graph是一套强大的交互图形开发平台,她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX控件,和其他流行的编程语言共同工作,极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中,实现网上图形编辑和控制等。
  Visual Graph专门处理交互图形,与具体业务无关,她提供了十分丰富规范的交互事件和图形控制命令,内置结构简单开放的脚本语言,使程序员能够专心编写后台系统等与图形无关的部分,体系结构十分清晰。
什么是Visual Graph:
1.1、这是一个控件:
一个 ActiveX标准控件。这种控件可以应用在Windows平台上的各种编程语言,甚至现在一般不太常用的Foxpro都支持它。在IE客户端,使用VBScript或者Jscript均可以操作它提供的接口类、函数和属性。完全功能的系统不含任何第三方技术,打包后文件大小才仅有300k。
1.2、这是一种二维矢量绘图工具:
通过三种简单的基本图形(文字、形状、线条),层层组合,可以开发无穷无尽强大的图库,图库就是该系统最大的特点之一,其他厂家的图形系统常常为了扩充某些功能,而把程序写死,导致程序今后可能经常需要修改,而且会越来越庞大,但 Visual Graph不需要这么复杂,只需要修改图库即可。此外系统支持多个绘图页面、图形之间可以建立拓扑关系、图形还可以按需要分组。
1.3、这是一种动态图形人机界面( HMI):
程序员可以通过 COM接口把自己的数据反映到图形上,使画面上的图形动作,例如仪表盘指针的偏转、开关的分合、液位的高低、轮子的转动、部件的动作等。图形用鼠标点击可以触发各种事件。传统的HMI人机界面一般是采用很多ActiveX控件堆放在一个画面上,每个ActiveX控件执行一个功能(例如曲线图控件、仪器仪表控件等),但是Visual Graph不需要这些,它的图库功能异常丰富,完全可以开发出诸如此类的“控件”(其实是组合图形),这种“控件”和整个图形画面浑为一体,非常便于缩放、打印、分层、旋转、组合复用,因此有着巨大的优势。
1.4、这是一种面向对象的脚本编程语言:
体系架构十分类似 Delphi,请看下表。大家知道,Delphi最强大的地方在于可扩充的VCL控件库(现在.net平台也借鉴了Delphi这种思想),同样,Visual Graph之所以强大,也在于它有类似的内核,从而可扩充图形库。
Delphi Visual Graph
窗口 (form) 页面 (sheet)
控件 (component) 元件 (element)
控件库 (dpl) 图形库 (tbl)
窗口也可以作为控件 页面也是元件
控件支持各种事件 图形支持各种事件
窗口支持各种事件 页面支持各种事件
属性 (property) 属性 (property)
私有函数 (private) 私有函数 (private)
公有函数 (public) 公有函数 (public)
引出函数 (published) 引出函数 (published)
可以开发出各种强大的控件 可以开发出各种强大的矢量控件
Delphi是由Borland公司推出的全新的可视化编程环境,提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,编程不再是枯燥无味的工作。
Delphi是新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNTWindows98、Windows2000、WindowsXP、Windows2003等环境下使用。它拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。
1.5、这是一种画表格或做报表的控件:
由于表格也是由图形(文字单元)拼凑起来的。所以天然就可以处理表格。当一组文字单元相邻的时候, Visual Graph自动把它们识别为表格,从而实现像插入行列、分割、合并这样的功能。 2006年,表格部分在铁道部大量使用,所处理的复杂表格多达上千种之多,一般软件则难以胜任。
1.6、这是一种组态软件最佳开发工具:
组态软件一般由四大块组成:通讯、实时数据库、后台管理系统、前台组态系统。 Visual Graph的全部功能在组态软件中都可以充分使用到。而组态软件要求前台的全部功能也都能在Visual Graph中实现,两者恰好相等。
http://www.visual-graph.com/down/vg.zip
二、产品特性:
Visual Graph 在可靠性、兼容性、易用性、扩展性、完备性、容错性等多方面均达到了较高的水平。
2.1可靠性:
用户主要是工业领域的有实力的软件公司或系统集成商,他们对软件的质量要求很高,首先,软件长期处于无人值守的运行状态下,所以,不能有任何隐患出现。其次,图形要及时响应硬件不断发出的指令,所以,反应速度要快。第三,要考察对方售后服务方面如何。我们现在已经拥有八十多家用户,其中很多都是行业内大名鼎鼎的软件公司或上市公司,每家公司在购买前都对我们进行了长期的考察。实践证明,用户对我们的产品质量和售后服务均非常满意。
2.2兼容性:
软件不仅能在目前主流操作系统,如Windows NT、XP上优化运行,而且还完美兼容Windows98。在编程语言方面,软件提供的接口不仅能够支持VB、VC、Delphi、FoxPro、PowerBuilder、C++Builder、 C#、VB.net、VC.net、IE等不同的工作环境,而且提供了全部类库。要知道,在某些语言中,一些特殊的接口是无法识别和使用的, Visual Graph为此进行了精细设计,既照顾了方方面面不同的语言环境,同时编写程序还非常方便。
2.3易用性:
程序员大都熟悉可视化编程,VB、Delphi、C#就是典型。Visual Graph设计思路和编程习惯非常类似这几种语言,对象的属性名称、函数名称都经过精心的设计,保证符合程序员的思维习惯。由于接口提供了完全的COM类库,当程序员在某个图形对象名后输入小数点时,立即出现下拉列表,里面列出了全部可用的属性和函数。图形文件采用标准XML而不是不可知的二进制格式,工作起来更放心。
2.4扩展性:
Visual Graph在图库设计方面是无与伦比的,它不象许多图形软件只能设计简单的组合图形,也不象许多软件必须提供插件才能实现个别复杂的图形,它的基本图形元素虽然只有三种(字、形、线),却能够通过嵌套技术、脚本技术像变魔术般生成无穷无尽的万千图库,只要其他软件有的图形,在这里都能自行开发出来,不需要编写插件,这样就非常适合用于互联网。专业版更提供了特殊的方案,脚本可以回调程序员自己的函数,因此,Visual Graph不支持的技术,程序员可以自行实现。
2.5完备性:
Visual Graph充分考虑了用户方方面面的需求,把许多技术做到了极致,超前设计了许多许多功能,更能细致入微地体贴用户。对于具体应用来说,许多功能暂时可能不需要,但给将来的发展却打下了良好的基础。
2.6容错性:
Visual Graph充分考虑了用户打开的文件的有可能错误的,所以Visual Graph人性化地显示出错误提示。并且不会出现画面死机现象。如果画面脚本出现错误时,则会显示出脚本错误信息。
三、产品技术详解
3.1近十年的潜心研究、数十位图形专家的结晶
Visual Graph经过近十年的深入研究与应用,有预见性地开发了大量具有潜在应用的功能,长期与用户互相合作,大量吸取用户应用经验,十多年的应用研究试验,Visual Graph终于被打造成图形应用领域里面的超级引擎,不断前进,在技术与质量上赢得了众多合作伙伴的心。产品主要特点是:
 包含编辑与运行状态,可以任意操纵与控制图形变化,实现各种仿真与建模。
 图形和图库是统一的XML格式,便于传输、存储和维护,支持WEB开发。
 响应众多的图形操作事件,任意给图形添加属性成函数,任意自定义图形。
 可以建立和分析图形间的任意拓朴连接关系,实现各种逻辑运算与控制。
 内含面向对象的Visual Graph脚本语言,简洁易用的COM类库接口。
 每个图形都是对象,拥有众多的属性和函数,可以方便地编辑和操纵。
 支持报表开发,表格高度智能,可以制作超酷图形界面,轻松换肤。
 非常容易地开发出任何复杂变化的图形,轻松实现自己的图形库。
 技术完善:多页面、多图层、表格图形混排、透明度、自由旋转、动画效果、自定义线型、网纹、箭头、自定义任意多个文字标注、自定义提示窗口、自定义图元连接点、自定义光标、图形保护、控制点,支持图形的逻辑分组,允许图元嵌套构建更复杂的图元,可以给图形添加属性或者函数。
 混合编程:不仅其他程序可以操控Visual Graph的一切,而且Visual Graph的脚本可以调用其他语言的程序,也可以调用DLL,任意扩充内部函数,扩展功能。脚本语言的编程习惯和一般语言相同,各种属性、函数名称也都相同,尽量取悦于程序员,使迅速熟悉Visual Graph。
3.2来源于近百个软件公司使用的经验,五十多种图形功能特点:
1. 图形文件和图形库是统一的 XML 格式
  一般图形软件的图库不外乎采用以下几种技术:
① 程序中自带图库。这适用于特定的专业领域,如果需求发生变化,程序必须改变,目前许多自行开发图形系统的软件公司采用这种技术,一来需求相对固定,二来实现也较为简单,这种技术的缺点在于,以后需求发生变化,程序经常需要修改。
② 专门做一个图库设计工具软件,图库有专门的格式。这个已经比前面进了一步,起码用户似乎可以“自定义图库”了。给用户的感觉要好一点。但是这种技术的缺点在于,图库中的图形都是“组合图形”,只能做一些简单的状态变化。而象曲线图、饼图、棒图、仪器仪表等图形就无法实现了。
③ 插件技术。这个就更进一步,目前在许多工业组态软件的图形系统中采用。为了实现上述各种复杂的组合图形,用外部程序辅助实现,有的是自己定义接口方式,好一点的采用 ActiveX 标准接口。这种技术的缺点在于,你常常需要很多外部插件,如果厂家没有提供某个图形,就需要请厂家帮忙解决,或者利用厂家提供的接口开发规范用 C++ 等语言编写插件。可想而知,这种技术几乎无法应用于互联网。而且用户受限于自己的开发水平,无法真正创造他想要的东西。此外,如果厂家采用标准 ActiveX 技术的话,还有一个先天性缺陷,那就是,这种外部插件无法自由缩放、自由旋转,无法和其他图形协调存在,另外还有整体打印方面的问题。
④ 文档格式。许多厂家的图形文档采用自行规定的二进制格式,这种格式的文档读取速度较快,但是安全性、可维护性很差。在经常性的修改中,难免遇到电脑停电等事故,恢复正常打开电脑后,文件却可能无法读取了,因为是二进制格式,就不知道哪里出了问题,自从有了XML文档格式,采用它存储数据就成为最佳的选择方案,你用其他 XML 阅读软件甚至记事本就可以轻松编辑这种文档。
⑤ Visual Graph 采用图形文档和图库文档统一的 XML 格式,你可以任意自由地画图,任意设计属性、函数、事件,这样相当于给图形赋予了生命,设计好的图形文件马上就可以被当作图库来使用,这样通过多层嵌套,就可以设计非常复杂的图形出来,这样紧凑的结构、巧妙的设计,也只有 Visual Graph 才有。
2.一个文档包括多个页面图形
  你可以在一个文档内包含多个画面,而当这个文档被用作图库的时候,每个画面又被当作一个个元件来使用了,整个系统形成完备的整体。
3. 页面支持多图层,图层可以隐藏或锁定
  画很大的图时,有可能需要建立多个图层,例如地理图上的道路、电力设施、水管、商店、政府部门等可以分别设定在不同的图层上,图层其实就是页面。
4. 基本图形只有三种(文字、形状、线条),却可以制作种类繁多的元件
  一切复杂的图形元件都来自于这三类图形,基础图形越少,整个系统的架构越灵活可靠。如果把各种专用图符等放在系统内部,当作不同的类别实现,这样,系统结构就很松散而且难以学习了。
5. 可以进入元件内部编辑其细节
  需要专门的图库编辑软件麽?不需要,只要在Visual Graph集成环境中,就可以随时进入元件的内部,修改其细节。
6. 线条编辑,允许插点,删点,画曲线,直线,独特的副线功能
  允许在线条上插入顶点,删除顶点。线条的每个顶点除了有 x 和 y 两个坐标值以外,还有一个顶点属性值,用来描述这个顶点的画法。通过简单改变顶点的属性,一条折线可以变成曲线,可以变成两段不相连接的折线。此外,软件还可以通过添加副线,画出花样繁多的线条,如铁路线、长城线、国界线等等。
7. 直接在画面上编辑文字,文字自由旋转
  文字编辑方式自然,即使文字单元有旋转,编辑方式不变,甚至输入光标也会跟着旋转。
8. 无数次的 Undo 和 Redo
  能够对绝大多数操作进行几乎无数次的撤销和恢复,根据内存状况采用不同的调度策略,许多方面,尽管用户可能很少用到,但都严格地保证了安全。
9. 内置专门的 Visual Graph 图形语言
  内置专门为图形系统设计的纯面向对象脚本语言,结构简单,语法只有简单的几条,变量也不需要定义,直接任意赋值。比起其他流行的编程语言,更加简洁明快、高效。
10. 每个图形允许定义背景图片,图片可以透明、缩放
  每个基本图形都有图片和网纹属性,二者结合在一起,可以实现图片的拉伸、平铺、透明等。整个视图文件也有同样的背景图片和网纹设置。
11. 和许多绘图软件图形互相拷贝粘贴,可以编辑 EMF 格式的图形
  EMF 是各种矢量图形软件相互交换格式的一种标准图形格式,象 Word 、 Visio 、 Autocad 、 Coreldraw 等都支持 EMF 格式的存取。 Visual Graph 可以把这些软件的图形拷贝后粘贴进来进行编辑,也可以把图形拷贝到这些软件中去进行编辑(特殊粘贴)。
12. 文档打印纸可以自由设定大小和缩放比例
  打印无级缩放,多大的图形都可以放在一张纸上打印,而打印效果直观地显示在画面上,只要显示打印纸,就可以清楚看到打印纸的位置,你可以用鼠标改变它的位置和大小。打印纸越小,相对来讲打印出来的图形就越大,反之,打印纸越大,打印出来的图形就越小,而所包括的图形也更多。不需要模拟显示。
13. 打印和设备无关
  画面打印情况只与打印纸、图形的相对位置有关,与设备无关。所有页面共用同一张打印纸。
14. 支持图形分组
  允许建立若干个图形组,这些组被保存进文件,这样可以方便地对图形进行分组管理和编程。例如,在一幅地图上,把所有房子建立一个数组,把所有公用设施按照类别分别建立一个数组等。
15. 多种连接线,十分灵活,可以建立图形间的拓扑关系,自由添加连接点
  有直线连接线,曲线连接线,平直连接线。元件内部可以自由设置任意个数的连接点,图形的连接点数目以及每个连接点关联的图形、连接点的位置都可以用程序访问,也可以用程序设置两个图形相连接。可以编写图形拓扑分析程序。
16. 多种箭头风格,并可以任意自定义箭头
  内置常用几种箭头风格,满足大多数时候的需要,如果箭头不够,可以修改箭头库文件(arrows.tbl),实际上,箭头库也是图形文件,也可以在 Visual Graph 中进行编辑。
17. 自定义线型
  线条有多种表现形式,可以修改每种线型的具体形状。
18. 自定义网纹
  图形填充图案全都可以自行设计,还有透明网纹、过度填充网纹、图片填充网纹等,能够满足绝大多数需要,网纹可以自定义样式。
19. 支持多种网格类型定位,但优先连接关系定位
  图形可以通过网格方便定位,默认情况下,图形左上角和网格保持对齐,如果图形在某处有连接点,优先把连接点放置在网格上。这也是为了更方便地绘制拓扑图。
20. 支持文字和其他图形两种对齐方案
  文字是不允许用鼠标拖动重叠的,我们认为文字重叠就互相看不清楚了,所以就尽量防止这种状况的发生。所以操作若干文字单元左对齐就不会出现象其他图形那样堆叠的情况,而出现一种类似表格操作的形式。
21. 图形支持任意角度自由旋转,旋转中不改变图形其它逻辑
  任何图形元件都可以任意角度自由旋转。旋转后,图形的逻辑关系不变,运算程序能够正常运行。例如棒图、饼图、曲线图、甚至页面上所有图形一起都可以随意旋转而正常工作。过渡填充、图片、箭头、文字标注、文字光标自动旋转。
22. 基本图形、图形元件均可以自定义文字标签
  普通的矩形、椭圆等形状以及线条都可以添加一个文字标签,线条上的文字标签有多种排版方式,元件可以定义内部哪些文字单元是标签。作为标签的文字单元可以直接编辑,不用进入封装好的元件内部。