-
Notifications
You must be signed in to change notification settings - Fork 126
Shape Export
With as3swf you can export any shape contained in a SWF, including font shapes of embedded fonts, to virtually any other format. You can redraw shapes with Actionscript at runtime, or export source code (e.g. Actionscript, Objective-C, SVG, Degrafa, FXG), or do whatever you feel like doing with it. Reuse your existing Flash vector art on other platforms.
public function ShapeExport() {
var request:URLRequest = new URLRequest("any.swf");
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.BINARY;
loader.addEventListener(Event.COMPLETE, completeHandler);
loader.load(request);
}
private function completeHandler(e:Event):void {
var swf:SWF = new SWF(URLLoader(e.target).data as ByteArray);
for (var i:uint = 0; i < swf.tags.length; i++) {
var tag:ITag = swf.tags[i];
if (tag is TagDefineShape) {
TagDefineShape(tag).export();
}
}
}
The export()
method expects a SAX-style callback handler instance that implements IShapeExportDocumentHandler
. If no such handler is provided, it uses DefaultShapeExportDocumentHandler
which simply traces Actionscript Drawing API commands to the console.
So far only simple strokes and fills are supported (no gradient or bitmap fills, etc).
Also, fills and strokes are currently exported in one pass which can lead to artefacts when drawing strokes. (fixed)
I’m working on it.