网站地图    收藏   

主页 > 专题教程 > vml >

VML极道教程(一) VML介绍

来源:自学PHP网    时间:2018-02-09 10:06 作者: 阅读:

[导读] 本系列文章导航VML极道教程(一) VML介绍 VML极道教程(二) VML入门VML极道教程(三) 标记实战与line线VML极道教程(四) oval圆rect矩型VML极道教程(五) RoundRect圆矩型VML极道教程(六) image图片VML极道...

什么是“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图形的输出效率还是够快的:)




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则是画面的展现,展示的是它绚丽姿彩的世界


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论