在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 做成的,但是現在好像用的不多了。
ref:
Tools for Creating Charts and Diagrams 一篇英文的文章, 對現有的流程圖創建工具有一個很好的介紹