2011-05-03 65 views
2

在SVG中,可以定義可用作路徑填充的模式。舉個例子,我的意思是你可以檢查這個鏈接:SVG pattern example。不幸的是SVG在Internet Explorer的舊版本中不可用,所以我必須在那裏使用VML。VML替代SVG模式(可能使用Raphael JS)

爲了讓我的生活更輕鬆一點,我使用Rapha ë l JS(更具體一點,我使用的是基於Rapha ë l的ExtJS 4.0的繪圖包),所以我不必擔心關於SVG和VML的區別。

然而,Raphael JS並沒有提供一種方式來定義模式並使用它們,所以我必須手工完成。在SVG中,這不是什麼大問題,但在VML中我找不到創建模式並將其用作路徑的(重複)背景的方法。

我發現的最接近的東西是能夠使用圖像作爲路徑的背景,如here on MSDN所述。問題是我想用重複的矢量圖像來填充路徑,所以我可以縮放它,並且仍然看起來不錯。

任何幫助指出我在解決這個問題的正確方向將不勝感激。

編輯:對於訪問我的文章的人:我得出的結論是,我上面描述的是不可能的。 VML中唯一可能的圖案化是使用fill element平鋪圖像。矢量形狀的圖案在VML中是不可能的。

+0

你是說你想在VML形狀中使用SVG圖像嗎? – brianpeiris 2011-05-05 06:42:18

+0

不,這不是我的意思,我很抱歉不清楚。我想要的是使用VML形狀的圖案作爲VML形狀的背景,正如可以使用SVG形狀(在圖案中定義)作爲SVG形狀的填充一樣。 – standardModel 2011-05-05 09:55:09

回答

0

我用這個方法:

1-創建要填充路徑的路徑元件(未RECT)邊界框。 012-2-附加「z」和要填充到邊界框路徑字符串的路徑的路徑字符串。這將創建一個剪輯矩形。 3-使用javascript在裁剪的矩形背後重複模式。