Shape對象與VML座標系_VML相關
來源:互聯網
上載者:User
Shape是VML最基本的對象,利用它可以畫出所有你想要的圖形。在VML中,使用的座標並不是Document的座標,它有自己的座標系,這樣一來,動態改變它的座標,就可以實現放大、縮小、旋轉等功能了。shape的 CoordSize 屬性就是用來定義座標的,它有兩個參數,, 這裡的2800,2800 是橫縱座標被分成了2800個點,並不是HTML裡面預設像素。如果沒有設定圓點,VML預設是 0,0 (左上方),當然你也可以使用 CoordOrig 屬性設定VML的圓點座標。
注意:定義的座標只是相對的,真正顯示的圖形大小還需要 style="width:500;height:500" 來定義!
上面的定義後,你可用的座標是 x(-1400到1400) y(-1400到1400) ,這樣的座標就像數學裡面的座標了,把畫版分成了四個塊。
在解決實際問題的時候,我發現,IE會自動把可見的VML圖象放在相對的(0,0)位置,意思是說,上面兩張圖如果沒有增加兩個輔助的座標,在IE上顯示出來是並列的兩個正方形。
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可以在中使用,StrokeColor、StrokeWeight可以在中使用。也可以在 Shape 或者 繼承Shape的對象中使用它。
在下面幾節,將詳細介紹 Shape 延伸出來的一些具體對象,諸如 Rect、RoundRect、Oval、Line等對象。