SVG和VML区别杂谈

SVG和VML区别杂谈

不少组织一直在作这两种动态矢量语言的统一工做,SVG和VML的初衷不同,SVG是为了集大成,VML倒是为了方便Word向Web的迁移,因此相对于VML的傻瓜和方便,SVG简直就疯狂的强调其的可扩展性....web

一个简单的例子,一条直线,若是要加一个箭头,VML里面直接在stroke里面添加一个属性startarrow或者endarrow就搞定了!
能够添加包括block,classic,diamond,oval,open,chevron,doublechevron这么多种的箭头,圆形的,钻石型的,箭头型的。咱们基本用得着的都有。何其的方便!虽然当时没有体会,知道有一天看见SVG的恶心作法:浏览器

SVG,则要先定义一个marker标记,里面去画出箭头的形状,而后再连接到直线上。
更恶心的是,由于默认只有顺着线条切线方向的箭头,因此若是起始端须要箭头,使用固定角度是不行的,只有重画一个反方向的箭头,再连接过去....
这些我也就忍了,最后费了老大劲也算是搞定了,最后的最后,我突发奇想,想更改一下线条的颜色,这在VML中固然很容易,箭头的颜色也跟着变化了,结果SVG中很是的崩溃,竟然箭头至今只能提供黑色(bugs.launchpad.net/inkscape/+bug/165865).....
虽然有一个更加恶心的hack,虽然这个bug已经上报到SVG标准里面,而且优先级挺高,可要实现估计得些时日。.net

作这个东东也有些时日了,从最初就想作得完善一些,若是质量可以达到产品级别就最好了,感受越钻得深,二者的区别就越多,虽然不能武断的评论谁好谁劣,但总以为SVG为了可扩展,牺牲了太多太多的方便性。设计

多比图形控件出现简化了的这种开发难度,它是一款基于Web的矢量图形控件,可以检测浏览器类型,自动选择VML或SVG方案进行作图, 相似于网页上的Visio控件,是目前国内外最佳的基于web矢量图解决方案,能够用于电力、化工、煤炭、工控组态软件、仿真、地理信息系统、工做流、复杂报表 工业SCADA系统、ERP流程设计系统图形管理、图形拓扑分析、GIS地理信息系统系统工程制图等领域。开发

相关文章
相关标签/搜索