在Web 要實(shí)現(xiàn)地圖,流程圖,涂鴉等功能的時(shí)候,可以選擇VML,SVG,Javaapplet,或者Flash。百度的map 搜索的地圖展示就是使用VML 的。
1、 VML
VML是微軟1999年9月附帶IE5.0發(fā)布的,全稱是Vector Markup Language(矢量可標(biāo)記語(yǔ)言),其實(shí)是Word和HTML結(jié)合的產(chǎn)物。可以將Word文檔另存為HTML,其中的文本和圖片可以很容易的轉(zhuǎn)換,但如果是手繪制的圖形在以往的IE里面就無(wú)法解釋了,如果都轉(zhuǎn)換成圖形文件又不太現(xiàn)實(shí)。于是微軟把Word里面的圖形控件結(jié)合到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應(yīng)用標(biāo)準(zhǔn)。它有著許多的優(yōu)點(diǎn),比如可擴(kuò)充性(scalable),動(dòng)態(tài)的,交互性強(qiáng)。SVG支持無(wú)極放大,對(duì)SVG圖片進(jìn)行任意比例的放大都不會(huì)損害圖片的顯示(沒(méi)有太多的失真),其他諸如BMP,JPEG格式的圖片都不支持無(wú)級(jí)放大。SVG有動(dòng)畫元素,只要在SVG文件中嵌入SVG動(dòng)畫元素就可以實(shí)現(xiàn)動(dòng)畫效果了。同時(shí)SVG也定義了豐富的事件,包括鼠標(biāo)事件和鍵盤事件,只要對(duì)SVG進(jìn)行相關(guān)的腳本編程就可以實(shí)現(xiàn)SVG文件的交互操作。
相關(guān)示例:
SVG腳本編程
http://dev.csdn.net/article/26/26676.shtm
http://www.adobe.com/svg/examples.html
SVM & SVG 相關(guān)的庫(kù)和應(yīng)用有
Prototype Graphic Framework
http://prototype-graphic.xilinus.com/
Cumulate Draw 很強(qiáng)大的一個(gè)畫圖工具, 基本上實(shí)現(xiàn)了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 很強(qiáng)大的一個(gè)流程圖畫板
http://www.mxgraph.com/demo/mxgraph/editors/diagrameditor.html
Del.icio.us
http://del.icio.us/hedgerwang/VML
3、Flash
Flash的強(qiáng)大功能就不用介紹了,相信它完全可以實(shí)現(xiàn)任何流程圖的操作功能。但是,F(xiàn)lash的學(xué)習(xí)成本太高了,它的ActionScript讓我們這些寫慣了java、js的開發(fā)人員一頭霧水。而且相關(guān)的網(wǎng)絡(luò)資源實(shí)在是太少了,當(dāng)初我google了N久,才勉強(qiáng)找到一個(gè)通過(guò)讀取xml文件顯示流程圖的example,功能僅僅是顯示xml文件中配置的流程節(jié)點(diǎn)(有需要源碼的朋友可以mail我)。所以,要想實(shí)現(xiàn)強(qiáng)大的流程圖編輯功能,F(xiàn)lash只推薦高手使用。
商用的軟件有
Gliff http://www.gliffy.com/
DrawAnywhere http://drawanywhere.com/
Google code有一個(gè)開源項(xiàng)目 http://code.google.com/p/flexvizgraphlib/ , 其代碼可以在
http://groups.google.com/group/flexvizgraphlib/web/FlexVisualGraph.zip 下載到
4、Java Applet
在SVM 和 SVG 出現(xiàn)以前,有網(wǎng)絡(luò)涂鴉,就是用Applet 做成的,但是現(xiàn)在好像用的不多了。
ref:
Tools for Creating Charts and Diagrams 一篇英文的文章, 對(duì)現(xiàn)有的流程圖創(chuàng)建工具有一個(gè)很好的介紹