- 浏览: 2541870 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
nation:
你好,在部署Mesos+Spark的运行环境时,出现一个现象, ...
Spark(4)Deal with Mesos -
sillycat:
AMAZON Relatedhttps://www.godad ...
AMAZON API Gateway(2)Client Side SSL with NGINX -
sillycat:
sudo usermod -aG docker ec2-use ...
Docker and VirtualBox(1)Set up Shared Disk for Virtual Box -
sillycat:
Every Half an Hour30 * * * * /u ...
Build Home NAS(3)Data Redundancy -
sillycat:
3 List the Cron Job I Have>c ...
Build Home NAS(3)Data Redundancy
VML勾画流程图(一)入门概念
official document location:
http://www.w3.org/TR/NOTE-VML
中文教程
http://www.itlearner.com/code/vml/index.html
VML的基本概念
VML的全称是Vector Markup Language(矢量可标记语言)
第一个示例hello world,文件头:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<style>
v\:* {behavior: url(#default#VML);}
</style>
</head>
<body>
...snip
</body>
</html>
文件体内容:
<v:roundrect strokecolor="black" fillcolor="white" style="position:relative;left:20;top:5;width:100px;height:40px;z-index:9">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
<v:textbox id="memo" style="font-size:10pt;color:blue;line-height:18px" inset="1,1,1,1">Hello world!<br>Hello VML!</v:textbox>
</v:roundrect>
<v:oval strokecolor="black" fillcolor="white" style="position:relative;left:9;top:20;width:14px;height:10px;z-index:8">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
</v:oval>
<v:oval strokecolor="black" fillcolor="white" style="position:relative;left:0;top:35;width:10px;height:8px;Z-index:7">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
</v:oval>
Shape对象与VML坐标系
Shape是VML最基本的对象,shape的 CoordSize 属性就是用来定义坐标的,它有两个参数,<v:shape CoordSize="2800,2800" />, 这里的2800,2800 是横纵坐标被分成了2800个点,并不是HTML里面默认像素。如果没有设置圆点,VML默认是 0,0 (左上角),当然你也可以使用 CoordOrig 属性设置VML的圆点坐标。
<v:shape CoordOrig="-1400,-1400" CoordSize="2800,2800" style="width:500;height:500" />
shape中最主要的属性是Path,它是个功能强大的画笔,语法很简单,由几个字母组成,下面详细讲述:
m x,y:MoveTo把画笔移动到 (x,y);
l x,y:LineTo从当前点到(x,y)画一条线;可以给连续的几个点,VML会连续画出来直到遇到 x 命令。
x:Close结束一条线;
e:End结束画图
shape的其他常用属性:
FillColor:填充颜色,使用HTML中规定的颜色;例如:fillcolor=red
Filled:是否要填充图形,如果图形不是封闭的,也会自动封闭图形进行填充。当Filled="true"(默认),fillcolor才有效果;
StrokeColor:线的颜色;
StrokeWeight:线的宽度;
Title:当鼠标移动到该图形上的时候,显示的文字,和HTML里面的alt、tilte一样;
Type:指定该图形属于那个ShapeType,ShapeType可以为VML制定模版,将在以后加以描述;
前面的这些属性,FillColor、Filled可以在<v:Fill />中使用,StrokeColor、StrokeWeight可以在<v:Stroke />中使用。也可以在 Shape 或者 继承Shape的对象中使用它。
Line,Polyline(线)对象
Line是做图中最常用的,它有两个特殊的属性 from 和 to ,就是起始点和终止点坐标。
<v:line from="0,0" to="100,50" style="position:relative;"/>
如果要改变线的样式,LineStyle (Stroke)属性可以做到(Single(默认),ThinThin,ThinThick,ThickBetweenThin):
如果要改变线的类型,可以用 DashStyle(Stroke)属性:
<v:line from="0,0" to="100,0" style="position:relative;">
<v:stroke dashstyle="Dot"/>
<v:line>
Solid(默认),ShortDash,ShortDot,ShortDashDot,ShortDashDotDot,Dot,Dash,LongDash,DashDot,LongDashDot,
LongDashDotDot;
在画坐标的时候,需要箭头,VML已经定义好了箭头,在Stroke体现:EndArrow 和 StartArrow 属性,一个是线开始的时候有箭头,另一个是线结束的时候有箭头。箭头的样式也有不少(Block,Classic,Diamond,Oval,Open):
<v:line from="0,0" to="100,0" style="position:relative;">
<v:stroke dashstyle="Solid" endarrow="classic"//>
<v:line>
PolyLine是 Line 的变形,是不规则的连续的线。它有个特殊的属性 Points ,用来设置每个点的坐标。例如:
<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative"/>
<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative">
<v:stroke StartArrow="Oval" EndArrow="Classic" dashstyle="Dot" />
<v:PolyLine>
Rect,RoundRect(矩形)对象
用VML画矩形,必须设置 style="width:50;height:50"
<v:Rect style="position:relative;width:100;height:50px"/>
RoundRect顾名思义,是圆角的矩形,这种形状在画流程图的时候很常用,还可以加上阴影
<v:RoundRect style="position:relative;width:100;height:50px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
</v:RoundRect>
在VML里面,True 和 False 可以简写成 T 和 F。Shadow 中的 offset 属性用来设置 偏移原图的 x,y 值。 on 属性用来决定是否显示阴影。
在矩形中写字,要用到 TextBox 对象。TextBox 比较关键的属性是 inset(left,top,right,bottom),意思是隔图形边的上下左右多少范围内定位文字:
<v:RoundRect style="position:relative;width:120;height:30px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<v:TextBox inset="5pt,5pt,5pt,5pt" style="font-size:10.2pt;">Hello Sillycat</v:TextBox>
</v:RoundRect>
当然你也可以直接插入HTML代码
<v:RoundRect style="position:relative;width:120;height:30px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<Div style="padding-top:5px;padding-left:5px;padding-right:5px;padding-bottom:5px">Hello sillycat</Div>
</v:RoundRect>
Oval(圆)对象
top和left是圆的左上角坐标,width 和 height 是圆的宽和高,不是圆的半径。其圆心坐标是(left-width/2,top-height/2)。
<v:oval style="position:relative;left:5;top:5;width:100;height:80"/>
弧(arc) VML已经定义了弧对象,它有除了圆的基本性质外,两个特殊的属性startangle 和 endangle ,就是起始角度和结束角度,单位是度,而不是弧度:
<v:arc filled=false style="position:relative;width:100;height:100" StartAngle="0" EndAngle="270" />
Image(图像)对象
Group容器
Group的使用很简单,但功能很强大。它能让一系列的VML对象使用共同的坐标系,它很常用的,基本上如果使用了超过一个VML对象的页面都使用Group。使用Group还有个好处,就是可以动态改变CoordSize值放大或缩小整个 Group 里面的VML。
<v:group ID="group1" style="position:relative;WIDTH:200px;HEIGHT:200px;" coordsize = "2000,2000">
<v:rect style="WIDTH:2000px;HEIGHT:2000px" fillcolor="#99cccc">
<v:shadow on="t" type="single" color="silver" offset="5pt,5pt"></v:shadow>
</v:rect>
<v:oval style="position:relative;top:100;left:100;width:1000;height:1000;z-index:7;" fillcolor="red" strokeColor="red"></v:oval>
<v:rect style="position:relative;top:500;left:300;width:1000;height:1000;z-index:8;" fillcolor="blue" strokeColor="blue"></v:rect>
<v:line from="200,200" to="1000,1700" style="z-index:9" fillcolor="yellow" strokeColor="yellow" strokeWeight=2pt></v:line>
</v:group>
ShapeType给VML制作模板
定义模版
<v:shapetype id="arrowUP" coordsize="6 6"> <!--三角形 向上-->
<v:path v="m 3,0 l 0,6,6,6,3,0 x e" />
</v:shapetype>
<v:shapetype id="arrowDown" coordsize="6 6"> <!--三角形 向下-->
<v:path v="m 0,0 l 3,6,6,0,0,0 x e" />
</v:shapetype>
后面就直接使用:
<v:shape type="#arrowUP" style="position:relative;width:50;height:50"/>
<v:shape type="#arrowDown" style="position:relative;width:50;height:50"/>
<v:shape fillcolor=blue type="#arrowDown" style="position:relative;width:80;height:80" />
例如:
<v:shapetype id="arrowDown" coordsize="6 6"> <!--三角形 向下-->
<v:path v="m 0,0 l 3,6,6,0,0,0 x e" />
</v:shapetype>
<v:shape fillcolor=blue type="#arrowDown" style="position:relative;width:80;height:80" />
official document location:
http://www.w3.org/TR/NOTE-VML
中文教程
http://www.itlearner.com/code/vml/index.html
VML的基本概念
VML的全称是Vector Markup Language(矢量可标记语言)
第一个示例hello world,文件头:
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head>
<style>
v\:* {behavior: url(#default#VML);}
</style>
</head>
<body>
...snip
</body>
</html>
文件体内容:
<v:roundrect strokecolor="black" fillcolor="white" style="position:relative;left:20;top:5;width:100px;height:40px;z-index:9">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
<v:textbox id="memo" style="font-size:10pt;color:blue;line-height:18px" inset="1,1,1,1">Hello world!<br>Hello VML!</v:textbox>
</v:roundrect>
<v:oval strokecolor="black" fillcolor="white" style="position:relative;left:9;top:20;width:14px;height:10px;z-index:8">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
</v:oval>
<v:oval strokecolor="black" fillcolor="white" style="position:relative;left:0;top:35;width:10px;height:8px;Z-index:7">
<v:shadow on="t" type="single" color="silver" offset="3pt,3pt"></v:shadow>
</v:oval>
Shape对象与VML坐标系
Shape是VML最基本的对象,shape的 CoordSize 属性就是用来定义坐标的,它有两个参数,<v:shape CoordSize="2800,2800" />, 这里的2800,2800 是横纵坐标被分成了2800个点,并不是HTML里面默认像素。如果没有设置圆点,VML默认是 0,0 (左上角),当然你也可以使用 CoordOrig 属性设置VML的圆点坐标。
<v:shape CoordOrig="-1400,-1400" CoordSize="2800,2800" style="width:500;height:500" />
shape中最主要的属性是Path,它是个功能强大的画笔,语法很简单,由几个字母组成,下面详细讲述:
m x,y:MoveTo把画笔移动到 (x,y);
l x,y:LineTo从当前点到(x,y)画一条线;可以给连续的几个点,VML会连续画出来直到遇到 x 命令。
x:Close结束一条线;
e:End结束画图
shape的其他常用属性:
FillColor:填充颜色,使用HTML中规定的颜色;例如:fillcolor=red
Filled:是否要填充图形,如果图形不是封闭的,也会自动封闭图形进行填充。当Filled="true"(默认),fillcolor才有效果;
StrokeColor:线的颜色;
StrokeWeight:线的宽度;
Title:当鼠标移动到该图形上的时候,显示的文字,和HTML里面的alt、tilte一样;
Type:指定该图形属于那个ShapeType,ShapeType可以为VML制定模版,将在以后加以描述;
前面的这些属性,FillColor、Filled可以在<v:Fill />中使用,StrokeColor、StrokeWeight可以在<v:Stroke />中使用。也可以在 Shape 或者 继承Shape的对象中使用它。
Line,Polyline(线)对象
Line是做图中最常用的,它有两个特殊的属性 from 和 to ,就是起始点和终止点坐标。
<v:line from="0,0" to="100,50" style="position:relative;"/>
如果要改变线的样式,LineStyle (Stroke)属性可以做到(Single(默认),ThinThin,ThinThick,ThickBetweenThin):
如果要改变线的类型,可以用 DashStyle(Stroke)属性:
<v:line from="0,0" to="100,0" style="position:relative;">
<v:stroke dashstyle="Dot"/>
<v:line>
Solid(默认),ShortDash,ShortDot,ShortDashDot,ShortDashDotDot,Dot,Dash,LongDash,DashDot,LongDashDot,
LongDashDotDot;
在画坐标的时候,需要箭头,VML已经定义好了箭头,在Stroke体现:EndArrow 和 StartArrow 属性,一个是线开始的时候有箭头,另一个是线结束的时候有箭头。箭头的样式也有不少(Block,Classic,Diamond,Oval,Open):
<v:line from="0,0" to="100,0" style="position:relative;">
<v:stroke dashstyle="Solid" endarrow="classic"//>
<v:line>
PolyLine是 Line 的变形,是不规则的连续的线。它有个特殊的属性 Points ,用来设置每个点的坐标。例如:
<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative"/>
<v:PolyLine filled="false" Points="0,0 0,100 20,150 200,100" style="position:relative">
<v:stroke StartArrow="Oval" EndArrow="Classic" dashstyle="Dot" />
<v:PolyLine>
Rect,RoundRect(矩形)对象
用VML画矩形,必须设置 style="width:50;height:50"
<v:Rect style="position:relative;width:100;height:50px"/>
RoundRect顾名思义,是圆角的矩形,这种形状在画流程图的时候很常用,还可以加上阴影
<v:RoundRect style="position:relative;width:100;height:50px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
</v:RoundRect>
在VML里面,True 和 False 可以简写成 T 和 F。Shadow 中的 offset 属性用来设置 偏移原图的 x,y 值。 on 属性用来决定是否显示阴影。
在矩形中写字,要用到 TextBox 对象。TextBox 比较关键的属性是 inset(left,top,right,bottom),意思是隔图形边的上下左右多少范围内定位文字:
<v:RoundRect style="position:relative;width:120;height:30px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<v:TextBox inset="5pt,5pt,5pt,5pt" style="font-size:10.2pt;">Hello Sillycat</v:TextBox>
</v:RoundRect>
当然你也可以直接插入HTML代码
<v:RoundRect style="position:relative;width:120;height:30px">
<v:shadow on="T" type="single" color="#b3b3b3" offset="5px,5px"/>
<Div style="padding-top:5px;padding-left:5px;padding-right:5px;padding-bottom:5px">Hello sillycat</Div>
</v:RoundRect>
Oval(圆)对象
top和left是圆的左上角坐标,width 和 height 是圆的宽和高,不是圆的半径。其圆心坐标是(left-width/2,top-height/2)。
<v:oval style="position:relative;left:5;top:5;width:100;height:80"/>
弧(arc) VML已经定义了弧对象,它有除了圆的基本性质外,两个特殊的属性startangle 和 endangle ,就是起始角度和结束角度,单位是度,而不是弧度:
<v:arc filled=false style="position:relative;width:100;height:100" StartAngle="0" EndAngle="270" />
Image(图像)对象
Group容器
Group的使用很简单,但功能很强大。它能让一系列的VML对象使用共同的坐标系,它很常用的,基本上如果使用了超过一个VML对象的页面都使用Group。使用Group还有个好处,就是可以动态改变CoordSize值放大或缩小整个 Group 里面的VML。
<v:group ID="group1" style="position:relative;WIDTH:200px;HEIGHT:200px;" coordsize = "2000,2000">
<v:rect style="WIDTH:2000px;HEIGHT:2000px" fillcolor="#99cccc">
<v:shadow on="t" type="single" color="silver" offset="5pt,5pt"></v:shadow>
</v:rect>
<v:oval style="position:relative;top:100;left:100;width:1000;height:1000;z-index:7;" fillcolor="red" strokeColor="red"></v:oval>
<v:rect style="position:relative;top:500;left:300;width:1000;height:1000;z-index:8;" fillcolor="blue" strokeColor="blue"></v:rect>
<v:line from="200,200" to="1000,1700" style="z-index:9" fillcolor="yellow" strokeColor="yellow" strokeWeight=2pt></v:line>
</v:group>
ShapeType给VML制作模板
定义模版
<v:shapetype id="arrowUP" coordsize="6 6"> <!--三角形 向上-->
<v:path v="m 3,0 l 0,6,6,6,3,0 x e" />
</v:shapetype>
<v:shapetype id="arrowDown" coordsize="6 6"> <!--三角形 向下-->
<v:path v="m 0,0 l 3,6,6,0,0,0 x e" />
</v:shapetype>
后面就直接使用:
<v:shape type="#arrowUP" style="position:relative;width:50;height:50"/>
<v:shape type="#arrowDown" style="position:relative;width:50;height:50"/>
<v:shape fillcolor=blue type="#arrowDown" style="position:relative;width:80;height:80" />
例如:
<v:shapetype id="arrowDown" coordsize="6 6"> <!--三角形 向下-->
<v:path v="m 0,0 l 3,6,6,0,0,0 x e" />
</v:shapetype>
<v:shape fillcolor=blue type="#arrowDown" style="position:relative;width:80;height:80" />
发表评论
-
MongoDB 2019(3)Security and Auth
2019-11-16 06:48 236MongoDB 2019(3)Security and Aut ... -
Memory Leak in NodeJS
2018-12-20 06:26 727Memory Leak in NodeJS I have d ... -
Remote Desktop Client
2018-12-07 13:19 1187Remote Desktop Client There is ... -
MetaBase UI Console(2)Docker on MySQL
2018-11-29 06:58 940MetaBase UI Console(2)Docker on ... -
AWS Lambda and Serverless Timeout
2018-09-20 01:20 625AWS Lambda and Serverless Timeo ... -
2018 WebSocket(1)Introduction
2018-03-20 01:22 11042018 WebSocket(1)Introduction ... -
2018 TypeScript Update(3)Introduction Basic Grammar
2018-03-08 03:08 6002018 TypeScript Update(3)Introd ... -
2018 TypeScript Update(2)Introduction Basic Grammar - Classes and Functions
2018-03-06 05:32 5512018 TypeScript Update(2)Introd ... -
2018 TypeScript Update(1)Introduction Basic Grammar - Types and Interface
2018-03-03 01:15 6002018 TypeScript Update(1)Introd ... -
Charts and Console(6)Paging
2018-03-01 00:12 577Charts and Console(6)Paging Th ... -
Vue.JS(3)Google Login
2018-02-14 04:53 1303Vue.JS(3)Google Login I just p ... -
Vue.JS(2)Monitor Water Console - ChartJS and Axios
2018-02-14 03:17 719Vue.JS(2)Monitor Water Console ... -
Vue.JS(1)Introduction and Basic Demo
2018-02-08 06:47 604Vue.JS(1)Introduction and Basic ... -
Charts and Console(5)Validation Form
2017-10-03 05:12 804Charts and Console(5)Validation ... -
Charts and Console(4)Display and Enhancement
2017-09-20 05:39 631Charts and Console(4)Display an ... -
Charts and Console(3)Auth and Login
2017-09-13 03:45 659Charts and Console(3)Auth and L ... -
Charts and Console(2)Login and Proxy
2017-08-31 05:39 877Charts and Console(2)Login and ... -
Charts and Console(1)UI Console and RESTful Client
2017-08-29 11:02 766Charts and Console(1)UI Console ... -
Blog Project(2)Express Backend API - istanbul - mocha - bunyan
2017-06-09 00:05 473Blog Project(2)Express Backend ... -
ReactJS(5)Composition vs Inheritance
2017-06-06 05:55 1109ReactJS(5)Composition vs Inheri ...
相关推荐
VML(Vector Markup Language)是一种用于在网页上呈现矢量图形的标记语言,它在HTML中提供了一种方式来创建和展示复杂的图形,包括流程图。JavaScript,作为Web开发中的重要脚本语言,可以与VML结合,实现动态的、...
EXT 和 VML 是在网页中实现图形界面的两种技术,特别是在创建流程图等可视化元素时。EXT 是一个基于 JavaScript 的富客户端应用框架,提供了一系列组件和工具,用于构建交互式的 Web 应用程序。而 VML(Vector ...
在本案例中,"asp.net+vml流程图代码"指的是利用ASP.NET技术和VML(Vector Markup Language)来创建流程图的一种编程实践。VML是一种标记语言,允许在网页上绘制矢量图形,尤其适合在不支持SVG(Scalable Vector ...
基于EXT vml的流程图的实现
在描述中提到的“javascript+vml开发的流程图”,意味着开发者利用JavaScript的灵活性和强大的事件处理能力,结合VML的矢量绘图功能,构建了一个能够展示流程步骤、状态转换的可视化工具。 文件"新建.html"很可能是...
使用vml封装的流程图控件,颜色大写可自动控制。
VML(Vector Markup Language)是一种基于XML的矢量图形语言,它允许在网页上创建和显示复杂的图形,包括流程图。"vml-rose流程图"是一个使用VML技术实现的流程图示例,用于在Web环境中展示流程或工作流的过程。在本...
VML做流程图UI层的javascript
实现了vml+html中显示的,并解决了ie浏览器兼容的问题,代码直接运行便好用
vml入门 vml教程 vml参考 vml实例 从网络上收集的各种vml实例.方便vml入门人员. 也有各种vml图形
本项目名为“流程图编辑器--js oop vml”,意味着它是一个基于JavaScript实现的对象导向编程(OOP)项目,使用了Vector Markup Language(VML)来绘制流程图。下面将详细介绍这个项目可能涉及的关键知识点。 **1. ...
#### 一、VML语言入门—极道学法 VML(Vector Markup Language)是一种矢量图形标记语言,用于在Web页面上创建和操作矢量图形。它与HTML相似,但更专注于矢量图形的处理。在开始学习VML之前,了解一些基本的学习...
通过查看这些文件,我们可以深入理解HTML和VML如何协同工作来呈现定制的工作流程图。 总之,HTML+VML工作流程结合了HTML的网页结构和VML的矢量图形能力,使得开发者能够创建出具有动态效果和交互性的复杂网页应用。...
以下是一些关于VML的基础知识和关键概念: 1. **VML的基本结构**:VML由一系列的形状元素(如`<v:shape>`)、路径元素(`<v:path>`)和其他图形属性组成。例如,你可以用`<v:oval>`来创建一个椭圆,`<v:rect>`来...
总的来说,这个实例提供了一个学习VML和创建流程图的起点。通过理解和应用VML,开发者能够创建出适应不同屏幕大小、清晰且交互性强的矢量图形,尤其在需要兼容旧版IE浏览器的情况下。虽然SVG现在更为推荐,但理解VML...
vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml曲线走势图vml...
VML,全称Vector Markup Language,是一种基于XML的矢量图形语言,主要在早期的Web开发中用于在浏览器中创建和展示矢量图形。在“一个精致的VML地图”这个主题中,我们关注的是如何利用VML技术来制作和展示地图。 ...
### VML语言入门知识点 #### 一、VML简介与学习方法 **VML**(Vector Markup Language)是一种用于在网页上绘制矢量图形的语言,类似于SVG,但它由微软开发并主要用于Internet Explorer浏览器。VML允许开发者在HTML...
ASP VML走势图是一种基于ASP(Active Server Pages)技术,并结合VML(Vector Markup Language)来创建动态曲线图表的方法。这种技术常用于Web应用中,以便在网页上展示数据的实时变化或者历史趋势,如股票市场、...