1:2级标记的通用属性
以前,我们常说的VML通用属性,是针对像oval、rect、roundrect这样的一级标记而言的(只是“极道”的学习规则,我不会在你还是一只“VML菜鸟”时,用太多的一级标记、二级标记这些难懂的词语)。而对于大多数的二级标记,是不支持的,只有一个例外,像Textbox内容,即能当作一级标记又能当作二级标记。不过id这个通用属性,是所有的一、二级标记均支持的属性。
2:stroke边框 - 专用属性参考表
| 属性名 |
默认值 |
值类型/范围 |
用途 |
| on |
true |
boolean |
设置处理是否起效 |
| weight |
1pt |
number |
描述边框粗度 |
| color |
black |
color |
描述边框颜色 |
| opacity |
1.0 |
0.0-1.0 |
描述边框透明度 |
| dashstyle |
solid |
solid,dot,dash,dashdot,longdash,longdashdot,longdashdotdot,shortdot,shortdash,shortdashdot,shortdashdotdot |
描述边框的线条样式 |
| filltype |
solid |
solid,tile,pattern,frame |
描述如何填充边框 |
| src |
null |
URLstring |
当filltype!=solid时,指定填充边框的图像地址 |
| imagesize |
auto |
Vector2D |
当filltype!=solid时,描述图像放大倍数 |
| imagealignshape |
true |
boolean |
当filltype!=solid时,描述图像是否居中对齐 |
| color2 |
null |
color |
当filltype=pattern时,描述图像的融合背景色 |
| startarrow |
none |
none,block,classic,diamond,oval,open,chevron,doublechevron |
描述线起点的箭头样式 |
| endarrow |
none |
none,block,classic,diamond,oval,open,chevron,doublechevron |
描述线终点的箭头样式 |
| startarrowwidth |
medium |
narrow,medium,wide |
当startarrow!=none时,描述起点箭头的宽度 |
| startarrowlength |
medium |
short,medium,long |
当startarrow!=none时,描述起点箭头的高度 |
| endarrowwidth |
medium |
narrow,medium,wide |
当endarrow!=none时,描述起点箭头的宽度 |
| endarrowlength |
medium |
short,medium,long |
当endarrow!=none时,描述起点箭头的高度 |
| miterlimit |
8.0 |
number |
描述边框关节位置的厚度 |
| joinstyle |
round |
round(rounded join),bevel(beveled join),miter(miter join) |
描述边框参加的样式 |
| endcap |
round |
flat,square,round |
描述边框结束部分 |
3:开始二级标记的课程!
通过以前所有章节的学习、在到从本章节开始,就表示你已对VML有了相当的认识、掌握了几乎所有的VML一级标记、如果之前的内容你认真学习了的话。
VML二级标记,你可以这样理解:“它是专门为VML一级标记设计的、它们可以修饰几乎所有用VML一级标记绘制的圆形、矩形、弧形、曲线等几乎所有形状,从头到脚、从边框到背景、从立体到背景图片、从路径轨迹到超文本内容、等等。。二级标记可以将基础的图形包装成各式各样千奇百怪、二级标记可以说是一级标记的一件华丽的衣服”。
不过,学习二级标记,我不会把二级标记的所有属性一一演示、讲解,更不会在去讲之前那些基础的知识(如果你不会,那现在就去看、去学、直到会了、能听懂本章节以后的课程我所说的话为止,我也不会在忌讳不加解释的使用一些诸如交接点/通用属性/专用属性/Vector3D/DVML/coorsize/group/line/curve等等词语)。并仅提供关于该二级属性的常识问题以及一些比较有用的、实用的、好用的、抽象的属性演示例子,你可以通过XXX二级标记专用属性参考表提供的数据,自行更改例题,从而自己了解、掌握XX属性是什么效果、什么用、我怎么挪用应用到XX一级标记图形中。
4:二级标记的兼容性问题
学习中你已知道,二级标记几乎可以“从头到脚”的处理图形几乎任何部分。但是如果图形本身“只有头没有脚”,那么你用专门处理“脚”的二级标记去处理它?不用说,肯定是无效的。那“脚”是什么哪?举个例子,line它只是线只有边框概念而没有填充概念,也就是说stroke二级标记可以处理它但fill(背景填充)二级标记就无法处理它。在说image,它只是图像,没有背景填充的概念,所以fill对它也无法处理。在拿oval、rect、roundrect这些图形跟line线相比,前者由于都有背景概念,所以就支持fill填充。但是,它们却无法使用“箭头”,不然,你说oval、rect哪里是起点?哪里是终点?箭头给它加到哪里合适?而line、arc、curve、polyline、shape却不同,他们都是线条类组成的、或根本就是一条line线,它门有线条起点、终点的概念,所以它们就支持在起点、终点增加箭头。请看下面给图形增加箭头的例子对比
</v:arc>
</v:rect>
显示情况证明oval、rect就不支持箭头,不过却支持边框颜色定义。
5:stroke边框 - 精彩实例
我制作了几个抽象的例子,源代码自行分析,并请对照专用属性表修改(其实学习二级标记就是学属性!),篇幅问题不一一作出解释。stroke所涉及的属性,关键是活学活用,不要求全部学会、死记住,但建议应学会专用属性表中我用红色给标记的常用属性,当然多了我不反对,只要你有脑子装~
</v:line>
</v:oval>
</v:roundrect>
</v:rect>
</v:rect>
1:shadow阴影 - 专用属性参考表
| 属性名 |
默认值 |
值类型/范围 |
用途 |
| on |
true |
boolean |
设置处理是否起效 |
| type |
single |
single,double,emboss,perspective |
描述使用哪种阴影效果 |
| color |
black |
color |
描述主要阴影颜色 |
| obscured |
false |
boolean |
暗示看穿图像如果没有在形状上填充 |
| opacity |
1.0 |
0.0-1.0 |
描述阴影透明度 |
| offset |
2pt,2pt |
Vector2D |
描述阴影的XY偏移度 |
| color2 |
gray |
color |
当type!=single时,描述二次投影颜色 |
| offset2 |
0pt,0pt |
Vector2D |
当type!=single时,描述二次投影XY偏移度 |
| origin |
0,0 |
Vector2D |
当filltype!=solid时,描述阴影与投影的交接度 |
| matrix |
null |
string |
当filltype!=solid时,描述变换点阵的强度 |
2:shadow阴影 - 应用精彩实例
即使是极道教程,也没有什么好说的,一切靠你自己分析研究、修改代码达到精通为止。对着例子、属性表自己动手,是最佳的学习方法。另外该标记相当重要,务要靠自己的努力学会!
</v:Image>
</v:oval>