{"id":13573024,"url":"https://github.com/autotrace/autotrace","last_synced_at":"2026-01-10T20:55:26.089Z","repository":{"id":9674574,"uuid":"11617405","full_name":"autotrace/autotrace","owner":"autotrace","description":"bitmap to vector graphics converter","archived":false,"fork":false,"pushed_at":"2024-04-06T16:32:32.000Z","size":9132,"stargazers_count":465,"open_issues_count":26,"forks_count":83,"subscribers_count":18,"default_branch":"master","last_synced_at":"2024-04-07T01:04:17.220Z","etag":null,"topics":["hacktoberfest","svg","vectorization"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/autotrace.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null}},"created_at":"2013-07-23T19:40:31.000Z","updated_at":"2024-04-14T17:56:10.406Z","dependencies_parsed_at":"2023-12-27T14:31:07.901Z","dependency_job_id":"5e9fdd3f-6c76-4b90-95ea-7b44efe95be1","html_url":"https://github.com/autotrace/autotrace","commit_stats":null,"previous_names":[],"tags_count":35,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autotrace%2Fautotrace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autotrace%2Fautotrace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autotrace%2Fautotrace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/autotrace%2Fautotrace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/autotrace","download_url":"https://codeload.github.com/autotrace/autotrace/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247170128,"owners_count":20895413,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","svg","vectorization"],"created_at":"2024-08-01T15:00:27.112Z","updated_at":"2025-04-04T11:31:04.450Z","avatar_url":"https://github.com/autotrace.png","language":"C","funding_links":[],"categories":["C","Apps","Software"],"sub_categories":["Free alternatives","Vector Creation"],"readme":"[![Coverity passed](https://scan.coverity.com/projects/18456/badge.svg)](https://scan.coverity.com/projects/autotrace-autotrace)\n[![Build status on Linux](https://github.com/autotrace/autotrace/actions/workflows/linux_test.yml/badge.svg)](https://github.com/autotrace/autotrace/actions?query=workflows%3Alinux_test)\n[![Build status on macOS](https://github.com/autotrace/autotrace/actions/workflows/macosx_test.yml/badge.svg)](https://github.com/autotrace/autotrace/actions?query=workflows%3Amacosx_test)\n\n\nAutoTrace\n=========\n\nAutoTrace is a utility for converting bitmaps into vector graphics.\n\nFeatures\n--------\n- tracing outline and midline\n- color reduction and despeckling\n- supports a lot of input and output formats\n\nLicenses\n--------\nThe program can be used under the GNU General Public License (GPL), either\nversion 2 of the License, or (at your option) any later version.\n\nThe input and output functions (`input-*.[ch]` and `output-*.[ch]`)\ncan also be used under the GNU Lesser General Public License (LGPL),\neither version 2.1 of the License, or (at your option) any later version.\n\nSome of code was partially derived from limn of GNU fontutils.\nHowever, almost all code has been rewritten.\n\nPlatforms\n--------- \nThe program was tested using GNU/Linux, HP-UX, Solaris, Windows 98,\nWindows NT, Windows 2000, macOS, and OS/2 4.0. It compiles with GCC,\nBorland C++ Builder, Visual C++, and many other compilers.\n\nIf you use Visual C++ 6.0 for compilation be sure to have at\nleast SP 5 otherwise you could get memory access violations due to\na bug in earlier versions.\n\nRequirements\n------------\nAutoTrace can be compiled standalone, then it can import pnm, pbm,\npgm, ppm, bmp, and tga files. If you have installed\n[libpng](http://www.libpng.org/pub/png/libpng.html) you can also read png\nfiles and with ImageMagick or GraphicsMagick a very broad range of input\nformats is available.\n\nYou will need at least libpng 1.0.6 and ImageMagick 5.2.1.  Most\noutput formats like dxf, emf, eps, ai, er, fig, svg, epd, dr2d, and sk\nare directly integrated in AutoTrace, but if you need swf export you\nneed to install [Ming](https://github.com/libming/libming).  Also you can\nexport to the p2e format.  This format can be converted by\n[pstoedit](http://www.pstoedit.net) to a large number of other formats.\nIf you have installed the latest pstoedit (3.32 or newer), AutoTrace uses\npstoedit directly.  However, direct pstoedit support is not stable enough.\nSee INSTALL file for more detail.\n\nInstallation\n------------\nSee the file `INSTALL`.\n\nUsage\n-----\nAutoTrace comes in two parts: a command-line program and a library.\n\nHere are the options you can use in the command-line program:\n\n    Usage: autotrace [options] \u003cinput_file_name\u003e\n    Options:\u003cinput_file_name\u003e must be a supported image file.\n      You can use '--' or '-' to start an option.\n      You can use any unambiguous abbreviation for an option name.\n      You can separate option names and values with '=' or ' '.\n\n    -background-color \u003chexadecimal\u003e: the color of the background that should\n        be ignored, for example FFFFFF; default is no background color.\n\n    -centerline: trace a character's centerline, rather than its outline.\n\n    -charcode \u003cunsigned\u003e: code of character to load from GF font file.\n\n    -color-count \u003cunsigned\u003e: number of colors a color bitmap is reduced to,\n        it does not work on grayscale, allowed are 1..256;\n        default is 0, that means no color reduction is done.\n\n    -corner-always-threshold \u003cangle-in-degrees\u003e: if the angle at a pixel is\n        less than this, it is considered a corner, even if it is within\n        `corner-surround' pixels of another corner; default is 60.\n\n    -corner-surround \u003cunsigned\u003e: number of pixels on either side of a\n        point to consider when determining if that point is a corner;\n        default is 4.\n\n    -corner-threshold \u003cangle-in-degrees\u003e: if a pixel, its predecessor(s),\n        and its successor(s) meet at an angle smaller than this, it's a\n        corner; default is 100.\n\n    -despeckle-level \u003cunsigned\u003e: 0..20; default is 0: no despeckling.\n\n    -despeckle-tightness \u003creal\u003e: 0.0..8.0; default is 2.0.\n\n    -dpi \u003cunsigned\u003e: The dots per inch value in the input image, affects scaling\n        of mif output image\n\n\n    -error-threshold \u003creal\u003e: subdivide fitted curves that are off by\n        more pixels than this; default is 2.0.\n\n    -filter-iterations \u003cunsigned\u003e: smooth the curve this many times\n        before fitting; default is 4.\n\n    -input-format: Available formats: ppm, png, pbm, pnm, bmp, tga, pgm, gf.\n\n    -help: print this message.\n\n    -line-reversion-threshold \u003creal\u003e: if a spline is closer to a straight\n        line than this, weighted by the square of the curve length, keep it a\n        straight line even if it is a list with curves; default is .01.\n\n    -line-threshold \u003creal\u003e: if the spline is not more than this far away\n        from the straight line defined by its endpoints,\n        then output a straight line; default is 1.\n\n    -list-output-formats: print a list of supported output formats to stderr.\n\n    -list-input-formats: print a list of supported input formats to stderr.\n\n    -log: write detailed progress reports to \u003cinput_name\u003e.log.\n\n    -noise-removal \u003creal\u003e:: 0.0..1.0; default is 0.99.\n\n    -output-file \u003cfilename\u003e: write to \u003cfilename\u003e\n\n    -output-format \u003cformat\u003e: use format \u003cformat\u003e for the output file. Available formats:\n        rpl, tk, cfdg, xfig, plot, svg, plot-svg, gschem, gmfa, text, epd, tek, rib, sk, plot-tek, gmfb, pcl, txt, asy, plot-pcl, tex, gnuplot, cairo, dat, plot-hpgl, lwo, pcb, xml, dr2d, pov, dxf_14, eps, tfig, mp, meta, java1, hpgl, ai, cgm, pdf, latex2e, ps2ai, p2e, java2, pic, svm, plot-cgm, plot-ai, plt, noixml, vtk, tgif, idraw, fig, emf, plot-fig, kil, er, m, dxf, obj, ugs, pcbfill, mif, mma, java, gcode, c, dxf_s, ild, mpost, pcbi\n\n    -preserve-width: preserve line width prior to thinning.\n\n    -remove-adjacent-corners: remove corners that are adjacent.\n\n    -tangent-surround \u003cunsigned\u003e: number of points on either side of a\n        point to consider when computing the tangent at that point; default is 3.\n\n    -report-progress: report tracing status in real time.\n\n    -debug-arch: print the type of cpu.\n\n    -debug-bitmap: dump loaded bitmap to \u003cinput_name\u003e.bitmap.ppm or pgm.\n\n    -version: print the version number of this program.\n\n    -width-weight-factor \u003creal\u003e: weight factor for fitting the linewidth.\n\n\n    You can get the source code of autotrace from \n    https://github.com/autotrace/autotrace\n\nThe library is named libautotrace. To learn about the usage of the\nlibrary see `autotrace.h`.\nHere is a sample program that uses libautotrace.\nTo compile, invoke the following commands (on POSIX):\n\n    gcc sample.c `pkg-config --libs autotrace` `pkg-config --cflags autotrace`\n\n    /* sample.c */\n    #include \u003cautotrace/autotrace.h\u003e\n\n    int main()\n    {\n      char * fname = \"img/triangle.png\";\n      at_fitting_opts_type * opts = at_fitting_opts_new();\n      at_input_read_func rfunc = at_input_get_handler(fname);\n      at_bitmap_type * bitmap ;\n      at_splines_type * splines;\n      at_output_write_func wfunc = at_output_get_handler_by_suffix(\"eps\");\n\n      bitmap = at_bitmap_read(rfunc, fname, NULL, NULL, NULL);\n      splines = at_splines_new(bitmap, opts, NULL, NULL);\n      at_splines_write(wfunc, stdout, \"\", NULL, splines, NULL, NULL);\n      return 0;\n    }\n\nGUI Frontend\n------------\nFrontline, a Gtk+/Gnome-based GUI frontend, was under development until 2002.\nSee https://github.com/autotrace/frontline\n\n\nMore Information\n----------------\nSee https://github.com/autotrace/autotrace\n\n\nContribution\n------------\nProgrammers wanted!!!\n\nSee the [issue tracker](https://github.com/autotrace/autotrace/issues), or the `TODO` file and contact the author.\n\nAuthor\n------\nMartin Weber (martweb@gmx.net)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautotrace%2Fautotrace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fautotrace%2Fautotrace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fautotrace%2Fautotrace/lists"}