Actionscript 3 AS3-将精灵导出或保存为SVG或其他矢量格式

Actionscript 3 AS3-将精灵导出或保存为SVG或其他矢量格式,actionscript-3,svg,vector-graphics,generative-art,Actionscript 3,Svg,Vector Graphics,Generative Art,我在AS3中从事一些生成性艺术项目,我一直遇到位图质量限制的问题。它们不像向量那样可伸缩或可编辑。是否有一个类或库可以用来获取Sprite对象的图形并将其导出为SVG格式?其他通用矢量格式也可以接受 如能提供使用示例,将不胜感激 编辑:请注意,我使用的是FlashDevelop,而不是AdobeFlashCS。我正在寻找一个编程解决方案。看一看-SVGhapeExporter应该可以很好地运行()。不幸的是,一旦采用位图格式,您就无法完美轻松地将光栅图形反向工程为矢量。有一些工具试图完成这项任务

我在AS3中从事一些生成性艺术项目,我一直遇到位图质量限制的问题。它们不像向量那样可伸缩或可编辑。是否有一个类或库可以用来获取Sprite对象的图形并将其导出为SVG格式?其他通用矢量格式也可以接受

如能提供使用示例,将不胜感激


编辑:请注意,我使用的是FlashDevelop,而不是AdobeFlashCS。我正在寻找一个编程解决方案。

看一看-SVGhapeExporter应该可以很好地运行()。

不幸的是,一旦采用位图格式,您就无法完美轻松地将光栅图形反向工程为矢量。有一些工具试图完成这项任务,但结果好坏参半。Flash包含一个内置的“跟踪位图”功能,该功能将执行此任务,选中图像后,转到“修改>位图>跟踪位图”。您需要使用不同的选项来尝试并实现最佳结果,但即使如此,也可能需要手动调整以清理工件和故障


对每个选项都有一个相当好的概述。

如果您正在使用图形API(和/或使用预制作的精灵w.矢量艺术)制作生成艺术,那么目前最简单的方法就是以PDF格式打印出来。这将保留向量,您可以稍后导入Illustrator之类的工具进行最后润色。我用这种方式拍摄了我的游戏截图,效果非常好。裁剪可能会有一些问题,但如果调整事物的缩放比例,这些问题应该是可以避免的

看看这篇文章。它也有一个


除此之外,试试这个

,就像葡萄柚建议的那样,PDF也是我的第一个

如果您不想使用打印为pdf(这是一种有点笨拙的导出方式),还有一种方法可能会奏效


另一种选择是使用库,但我认为您首先需要使用库生成图形,但它将为您提供使用SVG格式导入和导出的能力。

我自己也在尝试导出到SVG,发现很难找到SVG导出器,这有点令人惊讶,因为它几乎就是xml

不过我确实遇到过,这可能会有帮助

实际上,您只需要SVG类。它试图模仿as3中的graphics类,但我发现我需要添加一个draw polygons类

    /**
     * graphics
     */
    public function drawPolygon($points:Array):void {
        var $pointsString:String = "";
        for each (var $pt:Point in $points) {
            $pointsString += (" " + $pt.x +"," + $pt.y);
        }
        var xml:XML = new XML('<polygon points="' + $pointsString + '" fill="' + uintToCSS2Color(fillColor) + '" stroke="' + uintToCSS2Color(lineColor) + '" stroke-width="' + strokeWidth + '"/>');
        this.xml.appendChild(xml);
    }
/**
*图形
*/
公共函数drawPolygon($points:Array):无效{
var$pointsString:String=“”;
对于每个(var$pt:Point in$points){
$pointsString+=(“+$pt.x+”、“+$pt.y”);
}
var xml:xml=新的xml(“”);
appendChild(xml);
}
这使我能够通过传递一组点来制作三角形和其他形状,但我自己也尝试了这个工具,运气不好,于是我开始寻找不同的东西,并发现了这个名为SWF2SVG的项目。它获取上载的SWF,并使用将其转换为SVG路径


指向SWF2SVG工具的链接:

这将仅导出SWF中包含的符号,而不是运行时生成的图形。不过还是很甜的!这是很有帮助的,尽管我更喜欢一种编程方式。如果没有人有库可以做,也许我应该做一个。我不是想把位图转换成向量,而是想把包含精灵的向量保存为向量。位图用于显示,因为它在我大多数使用中都更快。我已经知道如何在AS3中保存基于像素的图像。我需要一种保存精灵矢量的方法,最好是.svg格式。