2010-09-30 64 views
7

看來SVG在Flex 4中已經被「棄用」了,以支持Adobe的FXG。如果我有一堆我想繼續使用的SVG圖形,我該怎麼辦?有什麼可靠的將SVG轉換爲FXG?他們在功能上是否平等?那裏有一個轉換器,不會花費我1500美元嗎?在Flex 4中顯示SVG

回答

1

Inkscape現在也exports fxg(見評論#24和#42),但與some limitations

它使用簡單的XSLT作爲擴展,因此您可以使用任何支持XML轉換的語言編寫簡單的腳本,以便從SVG中生成FXG。

1

其實如果你在flex 4中進行編程,請查看spark path原語。對於路徑數據,它使用與svg路徑具有相同語法的字符串。你只需要解析它,但是actionscript完全支持正則表達式,因此使用urlrequest將svg作爲text/xml文件加載並解析出基元的路徑數據應該不會太困難。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/primitives/Path.html

路徑中的物體的整個路徑上唯一支持轉換,所以如果你想操作的實時路徑數據,你只需要解析的數據結構中的數據並將其轉換爲用於顯示的字符串。

它曾經是,如果你想顯示一個帶有actionscript 3.0圖形庫的svg路徑,你將不得不使用quadratic berziers來近似立方berzier,但是spark基本通過接受路徑數據來消除它立方形式 - 雖然即使是火花原始圖形,當它們自己抽出時,看起來似乎是近似的近似值。

+0

路徑只是圖形元素的一種類型...我在SVG中有一個完整的標識呈現,我想要顯示它。這可以用你描述的方法來完成嗎? – 2011-03-23 14:42:27

1

取決於您想要做多少工作來解釋svg數據。如果您想要執行諸如實現樣式,遮罩/裁剪和模糊效果等功能,則Flex 4中的功能將具有路徑及其所有屬性,但是從數據實現它將需要工作。

大多數svg圖形元素(形狀和文本)可以轉換爲像inkscape這樣的程序中的路徑數據。即便如此,actionscript還是繪製了最有可能支持基本形狀的geomitries。

如果你還想使用它,也需要解析元素組的變換,或者你可以不使用組,但是當你不操作它們時,它們是毫無意義的。