IE里面的画笔---VML(Vector Markup Language)入门之三

VML(IE绘图) 立即下载

脚本动态生成VML

我们编写 VML 很重要的就是要和 数据库结合,如果和数据库结合了,读数据和把数据转换成 VML 变成了两部分。如果直接使用 ASP 生成 包含很多 VML 的页面,一旦数据量多了,整个页面就变得很庞大,下载速度慢了,IE解释代码的速度也慢了,所以用脚本动态生成 VML 变得非常重要了。

用 VML 画一个示意图,可以更明确上面的意义:


<html>
<head>
<title>Untitled</title>
</head>
<script language="JavaScript">
function createPoint(x,y,value)
{
...
}
</script>
<body>
</body>
</html>
Iframe
主页面带有脚本,可以实现诸如增加 VML 元素的功能。子页面是个ASP程序,从数据库中读取数据,生成相应的脚本,比如:
<script>
self.parent.createPoint(10,10,"第一点");
self.parent.createPoint(1055,1330,"第二点");
self.parent.createPoint(2330,1230,"第三点");
</script>
这样,读数据和初始法脚本就同时进行了。
前面的图文简单的说就是:使用一个 Iframe 做后台,前台用脚本生成。也许担心,后台已经完成了,但前台还没有初始化的情况,你可以放心,因为读数据的过程肯定相对要慢,如果担心数据量少,只要你把脚本放在 Body 前面,Iframe 放在 Body 的最后面,就不会产生同步错误的问题了。
现在来具体讲讲如何用脚本动态产生 VML 。其实这和用脚本动态产生 HTML 是一样的过程。

<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>动态创建VML</title>
</head>
<STYLE>
v/:* { BEHAVIOR: url(#default#VML) }
</STYLE>
<script language="JavaScript">
function createPoint(x,y,v)
{
var strElement="<v:rect title='"+v+"' style='top:"+x+";left:"+y+"width:100;height:100'></v:rect>";
var newPoint = document.createElement(strElemnt);
group1.insertBefore(newPoint);
}
</script>
<body>
<v:group ID="group1" style="WIDTH:200px;HEIGHT:200px;" coordsize = "200,200">
</v:group>
<iframe src="readData.asp" name="data" style="display:none"></iframe>
</body>
</html>


相应的在 readData.asp 里面:


<script>
<%
'数据库连接部分
'读数据部分
Do Until rs.EOF
%>
parent.createPoint(<%=x%>,<%=y%>,<%=value%>);
<%
Loop
'数据库关闭部分
%>
</script>

上面的颜色采用 HomeSite 4.5.2风格


看完上面的,是否对这种模式有所理解呢?下面谈谈动态生成 VML 所要注意的一些问题,先说说 document 的 createElement 方法。IE版本不同, createElement 的使用也有所区别,在早期版本的IE, createElement 只能创建 Select 里面 OPTION ,比如说 var newOption=document.createElement("OPTION"); 但在 IE5.0 以后,createElement 可以创建所有的对象,使用的方式是 var newElement=document.createElement("<div id='oDIV'></div>"); 注意到没有,这里的参数必须是个完成的 HTML 标记,而不是 DIV,用这个方法的好处就是,可以用一个语句把新创建的对象描述清楚。insertBefore 方法很好用,它把新创建的对象插入到 最后。
我们一开始就有了 Group1 ,所有以后动态生成的 VML 直接插入到 Group1 的后面就可以了。曾经做了三个实验,第一个是普通的,用ASP生成 VML 代码;第二个是不用Iframe,在同一个页面生成脚本;第三个就是上面的例子,使用Iframe 产生脚本。结果在大数据量的条件下,效率最高的是第三个,其次是第二个,第一个有明显的慢的感觉。
接下来的一节,将讲述VML最激动人心的功能,放大缩小

在网页中利用VML画图 在web页面通过vml画图,如显示cpu使用率,内存使用率等等,动态绘制曲线和图形 立即下载

相关推荐

VML,The Vector Markup Language(矢量可标记语言)教程.chm

美洲豹的VML教程 chm版 vml教程.CHM

IE8下的VML显示问题解决方案

最近在维护一个使用VML画曲线的网站,在不同的IE下浏览效果不一样,特别是在IE8下,出现莫名其妙的样式显示问题: 1.曲线不可见!在IE9或IE7下,曲线正常绘制,但是在IE8下,不见坐标轴和曲线。 2.曲线位置偏移!在IE9或IE7下,曲线位置正常,但是在IE8下,曲线出现中断、偏移的情况。 3.曲线重叠!即在某一个水平线上,多条曲线(或其它VML对象)扎堆绘制或显示在一起。 ...

dia83499的博客 349

Android System Slice应用加载分析,及启用Slice后,锁屏日期第一次开机正常显示,但后面锁屏不显示问题分析

最近发现Android P上锁屏界面,日期不显示,发现从P开始后,出现了Slice来允许应用以模块化,可交互的方式,插入多个使用场景。Android P的system UI 也使用到了这一特性,表现为锁屏时间,日期,勿扰图标,闹钟等。 如何使用Slice 以System UI中KeyguardSliceView.java来说明它的使用方法 首先,我们打开System UI 的mk 文件,可以看到以...

qq_33595823的博客 3035

IE里面的画笔---VML(Vector Markup Language)入门之一

VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的,在我认为, VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML,其中的文本和图片可以很容易的转换,但如果是手绘制的图形在以往的IE里面就无法解释了,如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面,使IE也具

LP2001lp的专栏 2552

AnyLogic 8.8.3 最新版安装指南:从下载到配置的完整流程(附Java环境设置技巧)

本文提供了AnyLogic 8.8.3最新版从下载到配置的完整安装指南,重点解决了跨平台(Windows、macOS、Linux)部署中的常见问题。核心内容详细讲解了Java开发环境(JDK)的精准配置技巧,包括版本选择、系统环境变量设置与验证,确保为仿真建模工作奠定稳固基础。

efc1234567的博客 759

避开PFC设计大坑:从环路分析到参数整定的5个常见误区与解决方案

本文深入解析PFC电路设计中从环路分析到参数整定的5个常见误区,包括电感参数设计、小信号模型适用边界、电压环与电流环耦合效应等。通过实际案例和PSIM仿真数据,提供工程落地的解决方案,帮助工程师避开设计陷阱,提升电路性能与可靠性。

weixin_30666401的博客 325

IE里面的画笔---VML(Vector Markup Language)入门之二

现在我们来看看VML的一些应用。1,数据图表可以说是VML的拿手好菜。绘制图表,最重要的步骤是把数据转换成坐标。由于VML是矢量的,给数据的取值范围有很大的自由度,因为你可以用带小数的坐标值,也可以是非常大的数据做为坐标值。在做图表之前,必须明确一些事情,要把图表看成一个整体,这意味着使用 Group 将 VML 包容起来;x,y 轴是在第四像限里面的;VML的大小由 width,height

LP2001lp的专栏 1914

Oracle Linux中/var/log/pcp/pmlogger目录膨胀问题分析与解决

本文详细分析了Oracle Linux系统中/var/log/pcp/pmlogger目录异常膨胀的常见原因与解决方案。当PCP性能监控框架的pmlogger服务日志轮转或清理机制失效时,会导致该目录无限增长,威胁系统稳定。文章提供了从服务状态诊断、配置文件审查到安全清理与预防策略的全流程实战指南,帮助运维人员快速回收磁盘空间并恢复服务正常运行。

weixin_29208327的博客 371

VML画连线箭头,line线加粗

一、什么是VML VML相当于浏览器的画笔,它可以在浏览器中画出任何你想要的图形:小到直线、圆形、圆弧、曲线、矩形、圆角矩形、多边形;大到一张图画、一个动画、甚至于一个游戏。题中既以标明为简明教程,下边我们只限于讨论使用VML在浏览器中画一些直线、圆形、圆弧等小图。 VML是微软1999年前(具体时间不详)制作推出的,并集成到了IE5+浏览器,同样也是Microsoft Office

yinxianluo的专栏 3999

MTK 人工智能生态系统 <一> 简介

Neuropilot

New_Tank的博客 3494

如何查看在电脑里登陆过的微信帐号的聊天记录

打开微信电脑版,点击左下角 "≡" 菜单 → 选择 "设置"进入 "账号与存储"(旧版为" 文件管理 ")选项卡在 "存储位置"一栏查看当前实际保存路径,可点击" 打开文件夹 " 直接访问查看电脑里登录过的微信账号聊天记录,首选官方客户端直接登录查看,操作简单且安全;若账号已退出,可通过备份恢复功能处理;仅需查看媒体文件时,可定位到FileStorage 文件夹直接访问。无论哪种方式,都需遵守隐私保护原则,并注意聊天记录的加密特性限制。

捷利迅分享的博客 4525

VML,The Vector Markup Language(矢量可标记语言)

VML,The Vector Markup Language(矢量可标记语言) 从一个旧项目中看见这些没见过的东东,稍稍看了下,并收集了一下网上几个较为简单的例子作为参照 VML统计图实例

想飞的孤独少年的博客 875

博途S7-1500T 使用工艺对象驱动液压轴(含SimaHydTO库)

利用工艺对象控制液压轴位置含PLC控制和仿真程序文档资料下载地址如下:液压比例伺服阀的相关应用知识请参看下面的博客文章:液压位置闭环控制(比例伺服阀应用)_RXXW_Dor的博客-优快云博客。

RXXW_Dor的博客 2896

VML简明教程

一、什么是VMLVML相当于浏览器的画笔,它可以在浏览器中画出任何你想要的图形:小到直线、圆形、圆弧、曲线、矩形、圆角矩形、多边形;大到一张图画、一个动画、甚至于一个游戏。题中既以标明为简明教程,下边我们只限于讨论使用VML在浏览器中画一些直线、圆形、圆弧等小图。VML是微软1999年前(具体时间不详)制作推出的,并集成到了IE5+浏览器,同样也是Microsoft Office Art(艺术图型

shaily读书学习 1万+

15、SQL Server查询优化与CPU负载管理

本文深入探讨了SQL Server查询优化与CPU负载管理的关键技术,包括强制连接类型的使用、键查找问题的解决、索引设计的最佳实践、高CPU负载的排查与优化,以及并行性的利弊与调整策略。通过优化查询逻辑、合理设计索引、监控与管理CPU资源,可以显著提升SQL Server的性能和稳定性。适用于数据库开发人员和DBA进行性能调优参考。

pz8901234的博客 77

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VML入门 - 用我们的画笔绘多彩世界

VML入门 - 用我们的画笔绘多彩世界 什么是vml呢? VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。VML的全称是Vector Markup Language(矢量可标记语言),矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量,这在制作地图上有很大用途。在VML里面,标记使用的是XML扩张,需要一个namespace(命名空间),你可

crazy_rain的专栏 1087

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VML 学习笔记

观看者:有xml,javascript基础的同学 目标:熟练掌握vml 实现方式:代码及相关文字解释。希望能一步步写完代码当你看完也就掌握了。 VML的全称是Vector Markup Language(矢量可标记语言)是基于xml的矢量的图形,意味着图形可以任意放大缩小而不损失图形的质量。微软ie5-8的矢量图标准。由于ie9已经支持SVG了,所以vml到2011年12月已经归

荔枝小站 3572

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

vml

一、什么是VMLVML相当于浏览器的画笔,它可以在浏览器中画出任何你想要的图形:小到直线、圆形、圆弧、曲线、矩形、圆角矩形、多边形;大到一张图画、一个动画、甚至于一个游戏。题中既以标明为简明教程,下边我们只限于讨论使用VML在浏览器中画一些直线、圆形、圆弧等小图。VML是微软1999年前(具体时间不详)制作推出的,并集成到了IE5+浏览器,同样也是Microsoft Office Art(艺术图型

guodianzhanghui的专栏 1029

VML简介

VML简介1 VML概述         在VML里面,标记使用的是XML扩张,需要一个namespace(命名空间),你可以使用惯用的“v”作为命名空间,使用IE5.0到IE6.0通用的定义如下:       xmlns:v="urn:schemas-microsoft-com:vml">              v/:* { Behavior: url(#default#

tjgjp的专栏 2237

使用vector markup language(VML)画图

http://msdn.microsoft.com/en-us/library/bb264143(VS.85).aspx源码:<!-- Include the VML behavior --&gtv: * { be...

cnjqq9074的博客 231

利用VML标记语言画图、动画制作

 利用VML标记语言画图、动画制作进行信息技术与学科整合过程中,信息的加工处理过程中经常需要绘图,有时也需要一些动画。相当一部分绘图工作可使用Microsoft画图(可用于绘制各种较为复杂的电路图等),用Microsoft Word(可用于绘制各种几何图形等),Microsoft Excel(绘制数据图表),用Microsoft Powerpoint等,使用这些软件作图是非常方便快捷的,工

jaylongli的专栏 2709

VML编程之------2级标记stroke边框 . shadow阴影----《VML极道教程》原著:沐缘华

《VML极道教程》原著:沐缘华1章18节:2级标记stroke边框 1:2级标记的通用属性以前,我们常说的VML通用属性,是针对像oval、rect、roundrect这样的一级标记而言的(只是“极道”的学习规则,我不会在你还是一只“VML菜鸟”时,用太多的一级标记、二级标记这些难懂的词语)。而对于大多数的二级标记,是不支持的,只有一个例外,像Textbox内容,即能当作一级

GeneralXCK的专栏 1603

使浏览器对VML支持

最近做报表需要浏览器对VML支持,我的不行,都说IE5.0以上都可以,晕后来发现我的 C:/Program Files/Common Files/Microsoft Shared/  少了VGX这个文件夹, 我从别的机器上拷了这个文件夹再运行regsvr32.exe  "C:/Program Files/Common Files/Microsoft Shared/VGX/vgx.d

mathew的专栏 3840

vml_vmly&r

agAI3+物质的量=a/27,物质的量浓度=1000a/27V,取v/4mL溶液稀释到4vmL即稀释16倍,物质的量浓度=1000a/27*16V.AI2(SO4)3中AI与SO4的比=2:3,SO42-物质的量浓度=3*1000a/27*16*2V=125a/36V.。 选定透明图层或者选定需要透明的部分。 VML...

计算机毕业论文源码,学生个人网页制作html源码。贴近用户做网络推广和互联网优化。 514

vml 画图注意

html> html xmlns:v="urn:schemas-microsoft-com:vml"> head lang="en">     meta charset="UTF-8">     title>title>     STYLE>         v\:* { Behavior: url(#default#VML) }    /*  命名空间“v” */     S

羽下佳人的博客 898
上一篇: IE里面的画笔---VML(Vector Markup Language)入门之二
下一篇: javascript常用验证函数
LP2001lp
博客等级 码龄22年 4粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值