本系列文章导航
VML极道教程(八) shape多边型.shapetype模版.shape与curve曲线
VML极道教程(十) group集合容器.vmlframe图形引用
VML极道教程(十一) 2级标记stroke边框,shadow阴影
《VML极道教程》原著:沐缘华
1:何为“极道教程”
-对有功底的IT精英:我用最精辟的应用、最专业的校例,使你的技术更胜一筹
-对聪明的人:我用最逻辑的分解、通变式的校例,使你的聪明发挥到学习当中
-对一般人:我用最通俗的语言、阶梯式的校例,使你由一般变成不一般
-对笨的人:我用最傻瓜的理解、启蒙式的校例,使你笨鸟先飞
-极道教程:通俗易懂、循序渐进、内容全面、专业精悍、以学图用为目标追求。
名师献技、如履云风、关节经略、一点即通、以效求速为极道教程。
2:何为“名师”
名师之责,必先善身、方后善教、授技于人、以期成才。
名师风范,字走如风、意贯江河、错字典雅、品味无穷。
3:谈笑毕、学业始 - 何为“VML”、VML的基底知识
-HTML是WEB网页的标准格式,我们看到的网页都是HTML标记编写的,但标记有限
-VML是用代码标签在网页内绘图的标记语言,类似HTML,或可说是HTML的补足
-输出的图像是矢量图形格式,图形又支持以2D、3D、动态动画的形式呈现
-它对HTML、CSS2(样式表)的兼容非常好,就是说这3者很容易搀杂在一起、互补
-它对DHTML(基于HTML对象的编程语言)、JS&VBS(脚本程序)同样兼容的很好
-它对XML(通用WEB数据描述语言)、XSL(样式表)、DOM(对象接口)等等兼容都很好
-它可以被支持它的浏览器直接解析、输出,不过目前只有IE浏览器支持VML
-它同PGML、SVG等均基于XML格式,也跟SWF(flash)、PDF等图型效果类似
-VML是微软1999年前(具体时间我不详)制作推出的,并集成到了IE5+浏览器
-同样也是Microsoft Office Art(艺术图型,如word的艺术文字)的核心结构
-VML由微软Visio、Autodesk、Macromedia等企业推荐给W3C(WWW最高权利协会)
-采取、综合了各方的推荐,W3C于1999年初开始发展SVG,并随后不久推出
-SVG是综合VML、GML等的改进(输出效率、图型质量、标记扩展),被推荐为标准
-但SVG需要专门的图像阅读器如(Adobe SVG Viewer),无法直接被浏览器引擎解析
-以我见,SVG更适合于精度矢量图型应用软件开发、VML则适合应用在WEB页
-有不少文章说VML已过时,但仁者见仁、智者见智,VML我感觉相当健全(图型质量、输出速度)以及它编写简单、浏览器可以解析、与HTML等语言的兼容性、实际WEB页应用的可行性、深层开发的可行性
-但不能光提VML的优点,VML在我深层应用开发中,就碰到了“效率”缺点,当然只是说深层应用(做大副精度矢量图像、Vml动画、绚丽的2D/3D效果、等……),一般简单的应用,是感觉不到的,或可说一般应用不在话下。
-硬件效率:也许VML描述一个矢量图形只需短短一行、几行代码,没有理由会引起输出效率慢的问题。但实际上,VML矢量图型(2D/3D)的输出,是综合显卡、内存、CPU、屏幕刷新率等同时工作,这直接关系着硬件的性能、需要一定的设置,也就是VML矢量图型越大、颜色越多、图型处理的越复杂、动画更新的越快,也就越容易引起CPU100%、输出效率越慢的问题,否则会很快。
-数据效率:综合上述图型越大、颜色越多等问题,不光关系着硬件。其实,几行代
码描述的图型,在浏览器解析后,就变成了名副其实的“数字图像”。只是浏览器解析后的数据,我们看到的是图型,幕后谁知需要多少个“数字”才能输出这么一个图型?显示器刷新一次,就是复读一次这些“数字”……。这也就是你不看这个图型(切换到其他网页)机器运作效率就快,反之你看,机器运作就变慢的原因。
-图像矢量效率:在今后的章节,你会学习到VML的image、imagedata、fill等标记,这些标记均可以将http://(网上)、file:///(本地)路径协议的jpg、gif、bmp等格式的图像以矢量形式插入到WEB页。你会发现,如果被插入的图像越大(字节数),就会越慢,反之就会很快。
-综合上述效率问题,是VML的最大缺点。了解了VML的缺点,在今后学习、应用VML中,要尽可能取长补短避免在这个缺点上碰钉子,充分掌握了VML技术以后,这并不困难、不足以为惧。起码,VML图形的输出效率还是够快的:)
章2节:VML的强大与用途
1:VML的强大
VML以最简洁的标记代码,在WEB页快速绘制输出矢量图型(线段、圆形、矩形、圆矩形、矢量图像、曲线、多边形、弧型)、并修饰这些图形的(边框、阴影、填充、背景、渐变、箭头、3D)等等外观效果。能井然有序跟HTML超文本紧密结合,或搀杂在HTML标签内,或把HTML标签囊括其中充当内容。几乎支持CSS2样式表所有的样式属性(宽度、高度、3D-XYZ位置、鼠标形状、裁剪、排版缩进、缩放等等)。
综上所述,相信你可以想像VML能输出什么样复杂的静态图形了吧?
VML所绘制的每一个图形,都跟HTML一样是一个图形对象,同样支持DHTML对象编程模型、DHTML事件编程模型。轻松的读取、更改VML图形对象的各种属性,响应用户触发的鼠标、键盘等事件,实现与用户交互。如果有机的配合setTimeout、setInterval两个定时器方法,则能实现类似Flash般复杂的动画,输出质量相当的好。只要DHTML、JS or VBS编程功底足够深,任何复杂的动画都能实现!
2:VML的用途
认识了VML的强大,顺理成章可以想象,它能在WEB页中干些什么
注:★号越多表示开发难度越难
-小用1(★★☆☆☆☆☆☆☆☆):圆角表格、表格斜线、圆形、曲线……,可想,小用是做为HTML的补足
-小用2(★★★☆☆☆☆☆☆☆):数据图表(饼图、柱状图、曲线图)、图像处理(VML可将图像矢量化,并能进行亮度、对比度、色彩度、漫画风格、图像造型、颜色融合的处理)、图像绘制
-大用:{
建议:如果想“大用”VML,纯手写代码不是理智的选择,此时就应该使用专门的设计开发工具了。FlashVml(闪耀之星)无疑即是世界最好的VML开发工具,除了它,直到今天我仍没看到有比较出色的VML开发工具。于是我用了相当长的一段时间设计了FlashVml(闪耀之星),目前最新的版本是3.0。只有用它,才能让VML的能力得到充分发挥。虽然,不懂编程的人也能用它设计出不错的作品,但是不过,在用它以前,还是建议你掌握一些(VML、HTML、CSS)等知识,以巩固网页制作的基本功。如果在掌握一些(DHTML、JS或者VBS),那么,你很快就会成为VML开发大师、将VML的高级应用玩弄于鼓掌之中。
-打造3D网页(★★★★★☆☆☆☆☆):就像本教程的模版,就是一个简单且效果不错的3D网页,在800*600&1024*768分辨率中均显示正常
-打造VML动画特技(★★★★★★★★☆☆):如果你有足够的创意、足够强的编程功底,那么你将在WEB页中实现非凡的动画特技效果(效果持续时间较短、或效果重复始终运行)
-打造VMLFlash动画(★★★★★★★★☆☆):如果你有兴趣、信心、结合一些编程功底,那么你将在WEB页中实现以往只有用HTML的标记插入的swf(flash动画)文件,制作长时间有声有色的vmlflash动画,成为一个VML闪客
-打造VML游戏(★★★★★★★★★★):这将是一个充满幻想、充满挑战、充满智慧的创举,凭借VML的图形、动画和自己非凡的编程功底+数学算法,实现像撞球、坦克大战、饿罗斯方块、化妆师,甚至于RPG、STG、ARPG、ACT……
-打造VML3D网站(★★★★★★★★★★):这将会成为IT人士的饭后茶话
}
-其他:程序是智慧、是创意,VML则是画面的展现,展示的是它绚丽姿彩的世界
博文来源:http://www.cnblogs.com/GeneralXU/archive/2007/05/27/761412.html