VG平台架构——图形架构、接口架构、语言架构
1、图形架构:
VG的图形架构有一个观念:追求简单与灵活,使用户可以快速掌握图形制作技术。
VG的框架设计思想认为:一切复杂的图形元件都来自于这三类图形(文字、形状、线条),基础图形越少,整个系统的架构越灵活可靠,可以制作种类繁多的元件,再辅以内置的专门为图形系统设计的纯面向对象脚本语言,那么就可以制作出功能更加丰富、交互更加人性化的图元,一次性设计图形,到处可以使用的组件式的图形观念,使用户可以更加容易操控图形。
比如访问组合复杂图形里面的图元时,在VG脚本里面是如此访问:元件名.内部元件名.属性名(函数事件名),那么就会可以嵌套深入调用:元件名. 内部元件名.再内部的元件名.属性名(函数事件名)
还有一个重要的图形概念,在VG里面每一个图形里面都会有一个原心Origin属性与旋转Angle属性,从此可以看出,每一个图元都有自己的一个坐标,原心就是Origin属性,从下面可以访问与设置:而旋转的中心就是以每一个Origin来作为旋转中心。
XOrigin,只读 |
旋转中心点的横坐标 |
YOrigin,只读 |
旋转中心点的纵坐标 |
设置旋转中心点 |
所以正因为有了Origin,那么组合的图形的无限组合与旋转都能保持矢量方向,图形就会不变形。因为图形之间的关系不再是数量关系,而是坐标关系,那么从数学几何的观点上看,VG里面的图形都是保形的。
VG专业图形引擎平台的图形体系架构十分类似 Delphi的VCL架构,Delphi最强大的地方在于可扩充的VCL控件库(现在.net平台也借鉴了Delphi这种思想),同样,VG之所以强大,也在于它的图形有类似的内核架构,可轻松扩充图形库。VG图形语言与Delphi的对比如下:
Delphi |
VG |
窗口 (form) |
页面 (sheet) |
控件 (component) |
元件 (element) |
控件库 (dpl) |
图形库 (tbl) |
窗口也可以作为控件 |
页面也是元件 |
控件支持各种事件 |
图形支持各种事件 |
窗口支持各种事件 |
页面支持各种事件 |
属性 (property) |
属性 (property) |
私有函数 (private) |
私有函数 (private) |
公有函数 (public) |
公有函数 (public) |
引出函数 (published) |
引出函数 (published) |
可以开发出各种强大的控件 |
可以开发出各种强大的矢量控件 |
2、ActiveX接口架构:
VG为了让设计人员对VG的学习曲线很平缓,于是就把接口精简成如上几个类。功能丝毫不精简,VG的框架概念更清晰,更容易理解。
3、VG语言接口:
VG图形脚本语言跟外部交互时的接口框架如下:
VG是基于C++编程开发的,以后的日志中会为大家介绍技术上的一些重点。
希望我的文章会对大家在图形编程方面有所帮助。