AutoTrace is a utility that converts bitmap to vector graphics.
You find more information at:
http://autotrace.sourceforge.net

The program was tested using Linux, HP UX, Solaris, Windows98,
Windows NT, Windows 2000, MAC and OS/2 4.0. It compiles with GCC,
Borland C++ Builder, Visual C++ and many other compilers.
The program can be used under the GPL license.
It can be compiled standalone, then it can import pnm, pbm, pgm,
ppm, bmp and tga files. If you have installed libpng
(http://www.libpng.org/pub/png/libpng.html) you can also read
png files and with ImageMagick a very broad range of input
formats is available.
You will need at least libpng 1.0.6 and ImageMagick 5.2.1.
Most output formats like dxf, emf, eps, ai, er, fig, svg, epd and sk
are directly integrated in AutoTrace, but if you need swf export you
need to install Ming (http://www.opaque.net/ming/). Also you can
export to the p2e format. This format can be converted by pstoedit
(www.pstoedit.net) to a large number of other formats.
There are two main methods that can be used outline and midline
tracing. If you use Visual C++ 6.0 for compilation be shure to have
at least SP 5 otherwise you could get Memory access violations due
to a bug in earlier versions.

Here the options you can use:
Usage: autotrace.exe [options] <input_name>.
Options:<input_name> should be a supported image.
  You can use `--' or `-' to start an option.
  You can use any unambiguous abbreviation for an option name.
  You can separate option names and values with `=' or ` '.
background-color <hexadezimal>: the color of the background that
  should be ignored, for example FFFFFF;
  default is no background color.
centerline: trace a character's centerline, rather than its outline.
color-count <unsigned>: number of colors a color bitmap is reduced to,
  it does not work on grayscale, allowed are 1..256;
  default is 0, that means not color reduction is done.
corner-always-threshold <angle-in-degrees>: if the angle at a pixel is
  less than this, it is considered a corner, even if it is within
  `corner-surround' pixels of another corner; default is 60.
corner-surround <unsigned>: number of pixels on either side of a
  point to consider when determining if that point is a corner;
  default is 4.
corner-threshold <angle-in-degrees>: if a pixel, its predecessor(s),
  and its successor(s) meet at an angle smaller than this, it's a
  corner; default is 100.
despeckle-level <unsigned>: 0..20; default is no despeckling.
despeckle-tightness <real>: 0.0..8.0; default is 2.0.
error-threshold <real>: subdivide fitted curves that are off by
  more pixels than this; default is 2.0.
filter-iterations <unsigned>: smooth the curve this many times
  before fitting; default is 4.
input-format:  TGA, PBM, PNM, PGM, PPM or BMP.
help: print this message.
line-reversion-threshold <real>: if a spline is closer to a straight
  line than this, weighted by the square of the curve length, keep it a
  straight line even if it is a list with curves; default is .01.
line-threshold <real>: if the spline is not more than this far away
  from the straight line defined by its endpoints,
  then output a straight line; default is 1.
list-output-formats: print a list of support output formats to stderr.
list-input-formats:  print a list of support input formats to stderr.
log: write detailed progress reports to <input_name>.log.
output-file <filename>: write to <filename>
output-format <format>: use format <format> for the output file
  eps, ai, p2e, sk, svg, fig, swf, emf, er, dxf, dxf12, epd, pdf or cgm can be used.
remove-adjacent-corners: remove corners that are adjacent.
tangent-surround <unsigned>: number of points on either side of a
  point to consider when computing the tangent at that point; default is 3.
report-progress: report tracing status in real time.
version: print the version number of this program.

Programmers wanted!!!

Author: Martin Weber (martweb@gmx.net)

