+ -
当前位置:首页 → 问答吧 → vml的shape的coordsize、coordinate的含义

vml的shape的coordsize、coordinate的含义

时间:2007-01-29

来源:互联网

看了VML极道教程和美州豹的教程,感觉都不是很好理解coordsize的意思,看了微软MSDN上的介绍,好象含义是定义对于shape的width、height进行划分,类似于数学的坐标系。但是看了coordnite的定义,做了如下测试就很不理解:
<v:shape   style= "width:500px;height:500px "   coordsize= "1000,1000 "   coordnite= "-500,-500 "   path= "m0,0   l500   0,500,500,500,0,0,0   e "   />
本意认为坐标应该类似数学的四个象限,原点在中间,但实际测试是在屏幕的左上角,不知coordnite起什么作用?
另外coordsize设置在 <v:rect> 对图形的大小有影响,不知是为何?
哪位高手能否告知这两个属性的用法及含义

作者: ctk   发布时间: 2007-01-29

<v:shape   style= "width:500px;height:500px "   coordsize= "1000,1000 "   coordnite= "-500,-500 "   path= "m0,0   l500   0,500,500,500,0,0,0   e "   />

在一个坐标系里,coordOrigin定义了画板的原点?
coordsize定义了画板的大小,注意,他的值是html中常用的像素的十分之一
style就是shape的真实大小了。

由于画板和形状是相对的,所以,你把画板改大了,形状不变,视觉上就觉得图变小了。

作者: yizia   发布时间: 2007-01-30

coorOrigin应该这么理解:

首先,在纸上画一个坐标系
然后,对coorOrigin定义为-500,-500,而画板的长宽都是1000,所以画板在原坐标系里就是(-500,500),(-500,500)

作者: yizia   发布时间: 2007-01-30

用这个来理解,比较快

<v:group   style= "width:200px;height:200px;position:relative; "   CoordOrig= "0,0 "   CoordSize= "2800,2800 ">  
<v:line   from= "0,0 "   to= "2800,0 "   style= "Z-INDEX:8; "   strokeweight= "1pt ">  
<v:stroke   EndArrow= "classic "/>  
</v:line>  
<v:line   from= "0,0 "   to= "0,2800 "   style= "Z-INDEX:8; "   strokeweight= "1pt ">  
<v:stroke   EndArrow= "classic "/>  
</v:line>  
<v:rect   title= "CoordOrig= '0,0 '   CoordSize= '2800,2800 ' "   fillcolor= "red "   style= "Z-INDEX:9;width:1000;height:1000 "> </v:rect>  
</v:group>

作者: yizia   发布时间: 2007-01-30

如果坐标是从x轴:-500,500,y轴:-500,500,那么坐标原点(0,0)应该在shape定义的方框的中间,但是实际是在屏幕的左上角,所以弄不明白coordnite起什么作用。
如果直接写 <v:rect   style= "width:500px;height:500px "   coordsize= "2000,2000 "/> ,那么矩形实际上是比style定义的大,而不是缩小了。

作者: ctk   发布时间: 2007-01-30

yizia(刚升团长):
坐标总大小应该是shape的style.width/style.height定义的,而coordsize应该是定义如何按定义的coordsize大小划分的吧,path是根据坐标coordsize定义的坐标来画的吧。测试过:path= "m0,0   l500   0,500,500,500,0,0,0   e "画出的矩形就是实际长宽大小为500px的矩形的1/4。

作者: ctk   发布时间: 2007-01-30

你看到的都是相对的,眼睛在欺骗你。

坐标系都不一样,你如何比较大小?

然后,最好是在我给你的代码上调试

作者: yizia   发布时间: 2007-01-30

xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" 哪位能解释一下这些代码呢?

作者: zenggezhuang   发布时间: 2011-04-13