当我们开发一个涉及工作流的web系统时,通常会遇到如何进行流程定制和流程监控的问题--用户都会要求用图形化的方式来实现这两个功能。:(
我们如何在IE页面上显示和编辑流程图呢?一般的展现方法有三种:(1)Flash (2)VML (3)SVG
我们具体来讨论一下:
Flash
Flash的强大功能就不用介绍了,相信它完全可以实现任何流程图的操作功能。但是,Flash的学习成本太高了,它的ActionScript让我们这些写惯了java、js的开发人员一头雾水。而且相关的网络资源实在是太少了,当初我google了N久,才勉强找到一个通过读取xml文件显示流程图的example,功能仅仅是显示xml文件中配置的流程节点(有需要源码的朋友可以mail我)。所以,要想实现强大的流程图编辑功能,Flash只推荐高手使用。
VML
VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的IE里面就无法解释了,如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面,使IE也具备了绘图功能。
VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。
VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。
关于VML的资料网上就多了去了,下面是几个经典的:
IE截图:

SVG
SVG,全称为Scalable Vector Graphics(可伸缩矢量图形)。它是W3C制定的、用矢量描述图形的XML应用标准。它有着许多的优点,比如可扩充性(scalable),动态的,交互性强。SVG支持无极放大,对SVG图片进行任意比例的放大都不会损害图片的显示(没有太多的失真),其他诸如BMP,JPEG格式的图片都不支持无级放大。SVG有动画元素,只要在SVG文件中嵌入SVG动画元素就可以实现动画效果了。同时SVG也定义了丰富的事件,包括鼠标事件和键盘事件,只要对SVG进行相关的脚本编程就可以实现SVG文件的交互操作。
相关示例:
就我个人来看,SVG才是王道!
0 Comments:
发表评论