探索者

各种网页画图技术

在Web 要实现地图,流程图,涂鸦等功能的时候,可以选择VML,SVG,Javaapplet,或者Flash。百度的map 搜索的地图展示就是使用VML 的。

1、 VML

VML是微软1999年9月附带IE5.0发布的,全称是Vector Markup Language(矢量可标记语言),其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的IE里面就无法解释了,如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面,使IE也具备了绘图功能。

VML 的资料:

MS 的 How to Use VML on Web Pages

  http://msdn.microsoft.com/library/default.asp?url=/workshop/author/VML/ref/basic1.asp

Think In VML(VML基本教程)

  http://www.itlearner.com/code/vml/index.html

VML画板  

  http://www.tool.la/VMLPalette/

VML编辑器

  http://www.dynamicdrive.com/dynamicindex11/editor.htm

流程图

  http://cosoft.org.cn/projects/webflow

How to Implement Vector Markup Language (VML) on Web Pages?

  http://www.tudjarov.hit.bg/vml/vmlbt.html

VML Chart 控件

  http://dev.csdn.net/article/23/23770.shtm

Chart Demo

  http://webfx.eae.net/dhtml/chart/demo.html

2、SVG

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

相关示例:

SVG脚本编程

http://dev.csdn.net/article/26/26676.shtm

http://www.adobe.com/svg/examples.html

SVM & SVG 相关的库和应用有

Prototype Graphic Framework

  http://prototype-graphic.xilinus.com/

Cumulate Draw 很强大的一个画图工具, 基本上实现了Visio 的功能

  http://www.cumulatelabs.com/cumulatedraw/

RichDraw - Simple VML/SVG Editor

  http://starkravingfinkle.org/blog/2006/04/richdraw-simple-vmlsvg-editor/

Mapbar 地图

  http://main.mapbar.com/

mxDraw 很强大的一个流程图画板

  http://www.mxgraph.com/demo/mxgraph/editors/diagrameditor.html

Del.icio.us

  http://del.icio.us/hedgerwang/VML

3、Flash

Flash的强大功能就不用介绍了,相信它完全可以实现任何流程图的操作功能。但是,Flash的学习成本太高了,它的ActionScript让我们这些写惯了java、js的开发人员一头雾水。而且相关的网络资源实在是太少了,当初我google了N久,才勉强找到一个通过读取xml文件显示流程图的example,功能仅仅是显示xml文件中配置的流程节点(有需要源码的朋友可以mail我)。所以,要想实现强大的流程图编辑功能,Flash只推荐高手使用。

商用的软件有

Gliff    http://www.gliffy.com/  

DrawAnywhere  http://drawanywhere.com/

Google code有一个开源项目 http://code.google.com/p/flexvizgraphlib/ , 其代码可以在

http://groups.google.com/group/flexvizgraphlib/web/FlexVisualGraph.zip 下载到

4、Java Applet

在SVM 和 SVG 出现以前,有网络涂鸦,就是用Applet 做成的,但是现在好像用的不多了。


京ICP备12040723号 关于易寻 联系我们 手机版