`
bobbie.zou
  • 浏览: 65796 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

用VML画图(一些基本的矢量图)

阅读更多
转自:http://www.cnblogs.com/cuihongyu3503319/archive/2007/09/22/902605.html
用VML画图(一些基本的矢量图)


注:其中所有的left:top:都是针对图左上角的,比如圆,他的左上角应该是以圆为中心的矩形的左上角
1.line(直线)

a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一条从(0,0)到(200,200)的红色的边框为2px的直线</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:line strokecolor="red" strokeweight="2" style="z-index:5;position:absolute;left:233;top:150" from="0,0" to="200,200"/>
</body>
</html>

b.专用属性:from    起点坐标;
                    to    终点坐标
2.Oval(圆)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一个宽400高400边框为红色填充为绿色的圆</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:Oval strokecolor='red' fillcolor='green' style='width:400;height:400'/>
</body>
</html>b.专用属性:无
c.其他说明:其高宽主要由style中的width和height决定

3.rect(矩形)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一个宽100高100的矩形</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:rect style="position:absolute;z-index:1;left:320px;top:150px;width:100;height:100;"/>
</body>
</html>

b.专用属性:无
c.其他说明:其高宽主要由style中的width和height决定
4.roundrect(圆角矩形)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一个圆角矩形</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:roundrect style="position:absolute;z-index:1;left:220;width:100;top:100;height:100" fillcolor="red" strokecolor="red" strokeweight="1px" arcsize="0.15"/>
</body>
</html>

b.专用属性:arcsize    描述圆矩形四角的弧度值,0-0.5,默认值0.05
c.其他说明:其高宽主要由style中的width和height决定
5.arc(圆弧)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一个圆弧</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:arc style="z-index:1;left:110;width:100;position:absolute;top:10;height:100" startangle="-180" endangle="0"/>
</body>
</html>

b.专用属性:startangle    圆弧的起点缺口,取值范围-360-360,默认值-180;
                    endangle    圆弧的终点缺口,取值范围-360-360,默认值null(0)
c.其他说明:其高宽主要由style中的width和height决定
6.polyline(多边形)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一个多边形</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:polyline style="z-index:1;left:71;position:absolute;top:225" points="0,0,30,-40,100,100,0,0" filled="t" fillcolor="white"/>
</body>
</html>
b.专用属性:points    各折点坐标,上例表示(0,0)、(30,-40)、(100,100)、(0,0)四个点

7.curve(曲线)

<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建一条曲线</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:curve style="z-index:1;left:100;position:absolute;top:300" from="0px,0px" to="150px,0px" filled='f' control1="75,150" control2="75,-150"/>
</body>
</html>

b.专用属性:from    起点
                    to       终点
                    control1    曲线的第一个曲度
                    control2    曲线的第二个曲度
c.其他说明:control1、control2可用都不用、用一个或用两个都用
8.shape(任意形状)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>创建任意曲线</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:shape style="width:100;height:100" coordsize="100,100" filled="f" strokecolor="blue" path="m 0,0 l 100,100 e"/>
<v:shape style="width:100;height:100" coordsize="50,50" filled="f" strokecolor="blue" path="m 0,0 l 0,100,100,100,100,0,0,0 e"/>
<v:shape style="width:100;height:100" coordsize="100,100" filled="f" strokecolor="blue" path="m 0,0 l 0,100,100,100,100,0,0,0 e"/>
<v:shape style="width:100;height:100" coordsize="100,100" filled="f" strokecolor="blue" path="m0,0 c130,-90,30,90,150,180 e"/>
<v:shape style="width:100;height:100" coordsize="100,100" filled="f" strokecolor="blue" path="m0,0 c130,-90,30,90,150,180 x e"/>
</body>
</html>
b.专用属性:path    路径(m    起点、 l     画直线、 c    画曲线、x    曲线自动闭合、 e    结束)
                   coordsize    比例(实际宽:width*100/coordsize第一个值;实际高:height*100/coordsize第二个值)
                   type    引用模板的名称
9.shapetype(模板)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>模板使用示例</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:ShapeType id="m1" coordsize="1000 1000" fillcolor="yellow">
<v:Path v="m0,0 l30,-30,60,0,0,0 e"/>
</v:ShapeType>
<v:Shape style="z-index:1;left:271;width:1000;position:absolute;top:225;height:1000" type="#m1"/>
<v:Shape style="z-index:1;left:371;width:2600;position:absolute;top:225;height:4600" type="#m1"/>
<v:Shape style="z-index:1;left:271;width:1000;position:absolute;top:300;height:1000" type="#m1" fillcolor="red"/>
</body>
</html>
b.其他说明:shapetype是专门用来定义形状摸版的(不可见),而后在由shape标记引用、将模版实例化的按照path子属性值输出多边形(可见)。
10.background(背景)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>背景示例</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:background fillcolor="white">
<v:fill angle=50 type='gradient' color2="yellow"/>
</v:background>
</body>
</html>
11.group(容器)
a.示例:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>容器示例</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:group id="group1" style='position:absolute;left:0;top:0;z-index:1;width:100;height:100' coordsize="100,100">
<v:oval style="left:100;top:100;width:50;height:50" fillcolor="white"/>
<v:rect style="left:200;top:100;width:50;height:50" fillcolor="yellow"/>
<v:rect style="left:100;top:200;width:80;height:80" fillcolor="red"/>
<v:arc style="left:200;top:200;width:80;height:80" startangle="360" endangle="167" fillcolor="blue"/>
</v:group>

<v:group id="group2" style='position:absolute;left:100;top:100;z-index:1;width:100;height:100' coordsize="100,100">
<v:oval style="left:100;top:100;width:50;height:50" fillcolor="white"/>
<v:rect style="left:200;top:100;width:50;height:50" fillcolor="yellow"/>
<v:rect style="left:100;top:200;width:80;height:80" fillcolor="red"/>
<v:arc style="left:200;top:200;width:80;height:80" startangle="360" endangle="167" fillcolor="blue"/>
</v:group>

<v:group id="group3" style='position:absolute;left:100;top:100;z-index:1;width:200;height:200' coordsize="100,100">
<v:oval style="left:100;top:100;width:50;height:50" fillcolor="white"/>
<v:rect style="left:200;top:100;width:50;height:50" fillcolor="yellow"/>
<v:rect style="left:100;top:200;width:80;height:80" fillcolor="red"/>
<v:arc style="left:200;top:200;width:80;height:80" startangle="360" endangle="167" fillcolor="blue"/>
</v:group>
</body>
</html>
b.其他说明:当使用group后,容器内图形的left、top、width、height等值都是相对group的值。

五、二级标记
二级标记可以看作是对有限的属性进行扩展,就像CSS和HTML的关系一样,利用它我们可以做出更漂亮的图画出来,如上边background(背景)中就使用了fill二级标记,下边我们再来看下如何利用二级标记画一条带箭头的直线:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<title>二级标记示例</title>
<style>
v\:* { behavior: url(#default#VML);}
</style>
</head>

<body>
<v:line style="z-index:5;position:absolute;left:200;top:200" to="0,150" strokecolor="red" strokeweight="10px">
<v:Stroke dashstyle="shortdot" endarrow='classic'/>
</v:line>
</body>
</html>
例子中的stroke即为二级标记,它可以用来设置边框样式,除此之外还有shadow(阴影)、fill(填充)、extrusion(立体3D)、 textbox、imagedata(背景图片)等二级标记。二级标记也有自己的属性,我们只须通过设置这些属性就能画出各种漂亮的图来。二级标记的使用也非常简单,直接嵌套于图形标签中即可。
分享到:
评论

相关推荐

    VML 画图 统计图、柱状图、饼图、折线图

    VML(Vector Markup Language)是一种基于XML的矢量图形语言,主要在Internet Explorer浏览器中使用,用于在网页上绘制图形。由于SVG(Scalable Vector Graphics)的广泛支持和跨浏览器兼容性,VML现在逐渐被SVG取代...

    VML画图API

    这篇名为“VML画图API”的博文可能详细介绍了如何使用VML API来在网页中绘制图形。虽然具体的博文内容未给出,但我们可以根据VML的基本概念和常见用途来探讨一些相关的知识点。 1. **VML基本元素**:VML由一系列的...

    在网页中利用VML画图

    **在网页中利用VML画图** VML,全称Vector Markup Language,是一种用于在网页上创建矢量图形的标记语言。它允许开发人员在不支持HTML5 Canvas或SVG(Scalable Vector Graphics)的旧版IE浏览器中实现矢量图形的...

    在线VML画图工具flashvml2&2

    使用VML画图工具有以下几个关键知识点: 1. **VML基本结构**:VML文档由一系列的XML元素组成,如`&lt;v:shape&gt;`定义形状,`&lt;v:textbox&gt;`定义文本框,`&lt;v:arc&gt;`定义弧形等。每个元素都有相应的属性来控制其样式和行为。...

    vml网页画图经典教材

    本“vml网页画图经典教材”可能包含了关于如何使用VML在网页中创建、编辑和显示图形的详细教程。VML的主要优点在于它的矢量特性,这意味着图形可以无限放大而不失真,非常适合创建图表、图标、复杂的图形设计和动态...

    js+vml画图精彩实例

    在"js+vml画图精彩实例"中,我们可以学习到以下关键知识点: 1. **VML基础**:VML是一种XML方言,用于创建和展示矢量图形,包括线条、形状、文本和图像。了解VML的基本元素,如`&lt;v:shape&gt;`、`&lt;v:line&gt;`、`&lt;v:rect&gt;`...

    VML语言学习画图,可以详细的学习

    **VML(Vector Markup Language)**是一种标记语言,用于在网页上创建矢量图形。它是在HTML4和XML基础上发展起来的,主要用于在IE浏览器中显示复杂的矢量图像,尤其是在那些不支持SVG(Scalable Vector Graphics)...

    一个简单的VML绘图工具

    VML,全称Vector Markup Language,是一种用于在网页上创建和展示矢量图形的XML方言。它允许开发者通过纯文本方式来描述图形元素,如线条、曲线、形状等,并且能够保持高质量的缩放和打印效果。VML在互联网的早期被...

    VML画图,手册

    VML(Vector Markup Language)是一种基于XML的矢量图形语言,主要用于在网页上创建和展示矢量图形。在HTML文档中,VML提供了一种方式来绘制线条、形状、曲线等图形,这些图形可以按比例缩放而不会失真,因为它们是...

    vml.rar_VML_VML editor.mht_画图板

    5. **兼容性**:虽然现代浏览器更倾向于使用SVG,但VML仍然在一些老版本的IE中得到支持,这对于需要兼容旧浏览器的应用来说是个优势。 6. **组合与组织**:VML元素可以嵌套,可以创建复杂图形结构,并通过组来管理...

    VML画图Demo

    ### VML画图技术解析:实现画圆、画线与画矩形操作 #### VML简介 VML(Vector Markup Language)是一种由微软开发并专用于IE浏览器中的矢量图形标记语言。它允许开发者在网页中绘制复杂的矢量图形,如线条、形状、...

    vml+flashVML

    压缩包中的"vml"文件可能包含一些基本的VML示例代码,而"vml+flashvml"文件可能包含了关于如何结合Flash和VML的教程或实例代码。 总的来说,学习和理解VML及Flash VML可以帮助开发者在早期的网页环境中创建出美观且...

    js 封装VML的饼图,柱状图,折线图

    6. **文件“画图代码说明及例子”**:这个文件很可能包含了实现上述图形的详细代码注释和示例,这对于理解和学习如何使用JavaScript和VML进行数据可视化非常有帮助。通过阅读和分析这些代码,你可以了解到具体的实现...

    VML统计图之直方图

    本示例"VML统计图之直方图"显然是使用了VML技术来创建直方图。以下是关于VML、JS绘图、统计图、直方图以及条形图的详细知识点: 1. **VML (Vector Markup Language)**:VML 是一个基于XML的标记语言,用于在HTML...

    Js画矢量图.rar

    本文将深入探讨使用JavaScript进行矢量图绘制的方法,结合“Js画矢量图.rar”这个资源包中的实例,包括雷达图、柱形图、饼图等,我们将一起学习如何利用JS实现这些图表。 1. **VML与Canvas** 在IE浏览器中,由于...

    Vml画板工具(最酷的在线画图编辑工具)

    Vml画板工具就是利用Vml技术,让用户能够在线创建、编辑和保存矢量图形,这些图形可以在任何缩放级别下保持清晰,适用于制作图表、流程图、设计草图等多种用途。 1. **基本功能**: Vml画板工具通常包含一套全面的...

    vml.zip_VML_vml ie

    描述中的“vml画图工具,基于IE浏览器VML、javascript制作流程图的工具”揭示了这个压缩包内的主要内容。这个工具利用JavaScript和VML技术,允许用户在IE浏览器上动态创建和编辑流程图。JavaScript是网页开发中常用...

    vml+javascript高效曲线画图

    VML(Vector Markup Language)是一种矢量图形标记语言,它允许网页...然而,需要注意的是,VML现在已经不再被广泛支持,现代浏览器更倾向于使用SVG(Scalable Vector Graphics)或者canvas元素进行矢量图形的绘制。

    FlashVml(璀灿之星)4.5

    用类似画图、IDE软件开发的形式,设计开发可直接显示于WEB页面的图形图像、3DWEB网页、VMLFLASH动画、数据图表、游戏程序、 等等,轻松设计新一代WEB网页。而不需要借助插件解析、安装第三方软件,WEB广大的浏览者...

    js vml画流程图

    要使用JavaScript和VML绘制流程图,首先需要理解VML的基本元素,如`&lt;v:shape&gt;`、`&lt;v:textbox&gt;`、`&lt;v:line&gt;`等。`&lt;v:shape&gt;`用于创建图形,如矩形、圆形等;`&lt;v:textbox&gt;`用于添加文本;`&lt;v:line&gt;`则用于绘制线条连接...

Global site tag (gtag.js) - Google Analytics