Ever wanted to convert a bitmap to vector shapes, at runtime, in Flash? Look no further. Let me introduce you to as3potrace, an ActionScript 3 library to trace bitmaps.
As the name suggests, this is a port of the well known C library potrace by Peter Selinger. To be more exact, it is a AS3 port of Vectorization, a C# port of potrace 1.8 by Wolfgang Nagl.
Like potrace, as3potrace is released under GPL. The SWC and source code are available on GitHub:
https://github.com/PowerflasherBR/as3potrace
Demo
[SWF]http://wahlers.com.br/claus/blog/wp-content/uploads/POTrace.swf, 475, 475[/SWF]
Demo source code: https://gist.github.com/940219 (Warning: ugly)
Usage example
A minimal example of how to trace a bitmap with as3potrace, and draw the result into a Shape
:
Note that you can write your own backends to ease handling/processing of generated shapes. The one backend that i already wrote, GraphicsDataBackend
, produces GraphicsData
structures that you can immediately draw using Graphics.drawGraphicsData()
.
Alternatives
And as always, after i finished porting this little beauty, i found out that this has been done before by the amazing folks at LibSpark. Check out nitoyon’s PotrAs (also GPL’ed).