我正在AS3中开发一些生成艺术项目,但是我始终遇到位图的质量限制问题。它们不能像矢量图那样可缩放或可编辑。是否有一个类或库可以用来将Sprite对象的图形导出为SVG格式?其他常见的矢量图格式也可接受。
如果能提供使用示例会更好。
编辑:请注意,我正在使用FlashDevelop而不是Adobe Flash CS。我正在寻找一种编程解决方案。
我正在AS3中开发一些生成艺术项目,但是我始终遇到位图的质量限制问题。它们不能像矢量图那样可缩放或可编辑。是否有一个类或库可以用来将Sprite对象的图形导出为SVG格式?其他常见的矢量图格式也可接受。
如果能提供使用示例会更好。
编辑:请注意,我正在使用FlashDevelop而不是Adobe Flash CS。我正在寻找一种编程解决方案。
/**
* 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);
}
如果您正在使用图形 API 进行生成艺术 (和/或使用预制的矢量艺术精灵) ,最简单的方法是将其打印为 PDF。这将保留矢量图形,您稍后可以导入到像 Illustrator 这样的软件中进行最终处理。我以这种方式对我的游戏进行了屏幕截图,效果非常好。可能会有一些裁剪问题,但如果调整事物的缩放比例,则应该可以避免这些问题。
我之前自己以不同的方式回答了这个问题, 但是在尝试了那个工具后并没有什么好运气,于是我开始寻找其他的东西,并在wonderfl上发现了这个名为SWF2SVG的项目。它使用as3swf库将上传的SWF文件转换为SVG路径。
SWF2SVG工具链接: http://wonderfl.net/c/sPjI
请看一下这篇关于在运行时将Flash图形保存为图像文件的文章。它还有一个实时演示。
看一下AS3 SWF形状导出 - SVGhapeExporter
应该很好用(这里有示例代码)。
不幸的是,一旦以位图格式保存,就无法完美而轻松地将光栅图形逆向工程为矢量图。虽然有一些工具试图完成这个任务,但其效果参差不齐。Flash包含内置的“跟踪位图”功能,可执行此任务。选择图像后,转到“修改 > 位图 > 跟踪位图”。您需要尝试不同的选项以尝试获得最佳结果,但即使如此,可能仍需要手动调整来清理伪像和故障。
本教程对每个选项将要执行的操作有一个相当好的概述。