在Flex 4中,SVG似乎被"弃用",而Adobe的FXG则是首选。如果我有一堆想要继续使用的SVG图形,该怎么办?有没有可靠的方法将SVG转换为FXG?它们是否具有相同的功能?是否有一个转换器不需要花费1500美元?
如果你正在使用Flex 4进行编程,请查看Spark路径基元。对于路径数据,它使用与SVG路径相同的语法字符串。您只需要解析它,但是ActionScript完全支持正则表达式,因此使用urlrequest将SVG作为文本/XML文件加载并解析出原始数据以获取基元的路径数据不应该太难。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/primitives/Path.html
路径对象仅支持在其整个路径上进行变换,因此,如果要实时操纵路径数据,则必须将数据解析到数据结构中,并转换为字符串进行显示。
以前,如果您想要使用ActionScript 3.0图形库显示SVG路径,您将不得不在显示时用二次贝塞尔近似三次贝塞尔,但Spark基元通过接受立方体路径数据来消除了这一点——尽管即使Spark基元绘制自己时也似乎是非常接近的近似值。
这取决于你想要花多少功夫来解释svg数据。如果你想要实现样式、蒙版/剪辑和模糊效果等功能,Flex 4中的路径和所有属性都可以实现,但从数据中实现它需要一些工作。
大多数svg图形元素(形状和文本)可以在像inkscape这样的程序中转换为路径数据。即使如此,ActionScript也有绘制方法几何体,很可能支持基本形状。
此外,如果您想要使用元素组上的变换,还必须对其进行解析,或者您可以选择不使用组,当您不操作它们时,它们是相当无意义的。