potrace man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

potrace(1)							    potrace(1)

NAME
       potrace - transform bitmaps into vector graphics.

SYNOPSIS
       potrace [options] [filename...]

DESCRIPTION
       potrace	is  a  tool  for tracing a bitmap, which means, transforming a
       bitmap into a smooth, scalable image. The  input	 is  a	bitmap,	 which
       means,  a  pixel-based image composed of the two colors black and white
       only. The default output is an encapsulated PostScript  file  (EPS).  A
       typical	use  is to create EPS files from scanned data, such as company
       or university logos, handwritten notes, etc. The resulting image is not
       "jaggy" like a bitmap, but smooth. It can then be rendered at any reso‐
       lution.

       potrace can read bitmaps in the following formats: PBM, PGM, PPM	 (col‐
       lectively  known	 as PNM, see pnm(5)), as well as BMP (Windows and OS/2
       bitmap formats). The input image should only use the two	 colors	 black
       and white. If other pixel values appear in the input, they will be con‐
       verted to black and white using a simple threshold method.

       potrace can currently produce the following output formats: EPS,	 Post‐
       Script,	PDF,  SVG,  DXF, GeoJSON, PGM, Gimppath, and XFig.  Additional
       backends might be added in the future.

OPTIONS
       The following options are supported. Dimensions (arguments of type dim)
       can  have optional units, e.g. 6.5in, 15cm, 100pt.  The default unit is
       inches (or centimeters, if this was configured  at  compile  time,  see
       COMPILE	TIME CONFIGURATION below). For pixel-based output formats such
       as PGM, DXF, GeoJSON, and Gimppath, the default unit is pixels.

   General options:
       -h, --help     print help message and exit.

       -v, --version  print  version  info  and	 exit.	This  also  shows  the
		      defaults	 that  were  compiled  into  this  version  of
		      potrace.

       -l, --license  print license info and exit.

   Input/output options:
       filename	      Each file can hold an input image, or multiple  concate‐
		      nated  input  images.  If	 filename arguments are given,
		      then potrace will by default create one output file  for
		      each  input  filename given. The name of the output file
		      is obtained from the input filename by changing its suf‐
		      fix  according  to  the  chosen backend. If changing the
		      suffix is impossible because the names of the input  and
		      output  files  would be identical, then the output file‐
		      name is created by adding the "-out" suffix to the  name
		      of  the  input file. If no filename arguments are given,
		      then potrace acts as a  filter,  reading	from  standard
		      input  and writing to standard output. A filename of "-"
		      may be given to specify reading from standard input.

       -o filename, --output filename
		      write output to this file. All output is directed to the
		      specified	 file.	If  this option is used, then multiple
		      input filenames are only allowed for multi-page backends
		      (see BACKEND TYPES below). In this case, each input file
		      may contain one or more bitmaps,	and  all  the  bitmaps
		      from  all	 the  input files are processed and the output
		      concatenated into a single file. A filename of  "-"  may
		      be given to specify writing to standard output.

       --	      End  of options. Any remaining arguments are interpreted
		      as filenames. This also disables filter mode, even if no
		      filenames	 are  given. This is useful for shell scripts,
		      because potrace -- $FILENAMES will behave correctly even
		      for  an  empty  list  of	filenames. However, -- with an
		      empty list of filenames is not permitted in  conjunction
		      with  the -o option, because this would generate a docu‐
		      ment of zero pages, which none of the backends permit.

   Backend selection:
       For general information, see also BACKEND TYPES below.

       -b name, --backend name
		      Select backend by name, where name is one of eps,	 post‐
		      script,  ps, pdf, pdfpage, svg, dxf, geojson, pgm, gimp‐
		      path, xfig. Backend names can be abbreviated by a prefix
		      as  long	as  it	is unambiguous. Backend names are case
		      insensitive.

       -e, --eps, -b eps, --backend eps
		      EPS backend (default). The  output  is  an  encapsulated
		      PostScript  file.	 This is a single-page, variable-sized
		      backend.

       -p, --postscript, -b ps, --backend ps
		      PostScript backend. The output  is  a  PostScript	 file.
		      This  is	a multi-page, fixed-size backend. If the input
		      consists of multiple bitmaps, they are each rendered  on
		      a separate page.

       -b pdf, --backend pdf
		      PDF  backend. The output is a file in the Portable Docu‐
		      ment Format.  If the input consists of multiple bitmaps,
		      they  are	 each  rendered	 on a separate page. This is a
		      multi-page, variable-sized, backend.

       -b pdfpage, --backend pdfpage
		      The PDFPage backend is like the PDF backend, except that
		      it is fixed-size like the PostScript backend.

       -s, --svg, -b svg, --backend svg
		      SVG  backend.  The  output is a Scalable Vector Graphics
		      (SVG) file.  This is a single-page, variable-sized back‐
		      end.

       -b dxf, --backend dxf
		      DXF  backend. The output is a file in the Drawing Inter‐
		      change Format (DXF). In this backend, all Bezier	curves
		      are  approximated	 by  piecewise	circular arcs; this is
		      suitable for processing in CAD software or for machining
		      applications  using  CNC	tools.	This is a single-page,
		      variable-sized, pixel-based backend. The -u  option  has
		      no effect for this backend.

       -b geojson, --backend geojson
		      GeoJSON backend. The output is a file in the format used
		      by some applications processing  geographical  data.  In
		      this  backend,  all  Bezier curves are approximated by 8
		      straight line segments. This is a single-page, variable-
		      sized,  pixel-based backend. The -u option has no effect
		      for this backend.

       -g, --pgm, -b pgm, --backend pgm
		      PGM backend. The output  is  a  portable	greymap	 (PGM)
		      file. It is a convenient backend for antialiasing a bit‐
		      map image. This is a multi-page, variable-sized,	pixel-
		      based  backend.  If  the input consists of more than one
		      image, the images are concatenated in the output.

       -b gimppath, --backend gimppath
		      Gimppath backend. This backend produces output  suitable
		      to  be  imported as a path by the GNU Image Manipulation
		      Program (Gimp) (in the Layers, Channels & Paths  dialog,
		      select  Paths, then right-click and select Import Path).
		      The output is actually an SVG file. The  differences  to
		      the  SVG backend are: the --opaque option has no effect,
		      the --flat option is always on, and the  dimensions  are
		      pixel-based.  This  is  a	 single-page,  variable-sized,
		      pixel-based backend.

       -b xfig, --backend xfig
		      XFig backend. The output is a file in the	 XFig  format.
		      Note  that XFig uses X-splines instead of Bezier curves,
		      thus it is not  possible	to  translate  the  output  of
		      potrace  into  the  XFig	format with absolute accuracy.
		      This backend does a reasonable approximation  using  two
		      control  points  for  each  Bezier curve segment. The -u
		      option has no effect for this backend,  because  control
		      points  are  always  rounded to the nearest 1/1200 of an
		      inch in XFig. Curve optimization	is  disabled.  Implies
		      --opaque.

   Algorithm options:
       For  more detailed information on these options, see TECHNICAL DOCUMEN‐
       TATION below.

       -z policy, --turnpolicy policy
		      specify how to resolve ambiguities  in  path  decomposi‐
		      tion.  Must  be one of black, white, right, left, minor‐
		      ity, majority, or	 random.  Default  is  minority.  Turn
		      policies	can  be	 abbreviated  by an unambigous prefix,
		      e.g., one can specify min instead of minority.

       -t n, --turdsize n
		      suppress speckles of up to this many pixels.

       -a n, --alphamax n
		      set the corner threshold parameter. The default value is
		      1.  The  smaller this value, the more sharp corners will
		      be produced. If this parameter is 0, then	 no  smoothing
		      will  be	performed and the output is a polygon. If this
		      parameter is greater than 4/3, then all corners are sup‐
		      pressed and the output is completely smooth.

       -n, --longcurve
		      turn  off	 curve optimization. Normally potrace tries to
		      join adjacent Bezier curve segments when this is	possi‐
		      ble.  This option disables this behavior, resulting in a
		      larger file size.

       -O n, --opttolerance n
		      set the curve optimization tolerance. The default	 value
		      is  0.2.	Larger	values	allow  more consecutive Bezier
		      curve segments to be joined together in  a  single  seg‐
		      ment, at the expense of accuracy.

       -u n, --unit n set  output  quantization. Coordinates in the output are
		      rounded to 1/unit pixels.	 The  default  of  10  usually
		      gives good results. For some of the debug modes, a value
		      of 100 gives more accurate output. This  option  has  no
		      effect  for the XFig backend, which always rasterizes to
		      1/1200 inch, or for the DXF  backend.  For  the  GeoJSON
		      backend, this option is only a hint; the actual rounding
		      may be more, but not less, accurate than specified.

       -d n, --debug n
		      produce debugging output of type n. This	has  different
		      effects  for  different backends. For the PostScript/EPS
		      backends, the values n=1,2,3 illustrate the intermediate
		      stages of the potrace algorithm.

   Scaling and placement options:
       -P format, --pagesize format
		      for  fixed-size  backends,  set page size. The following
		      formats can be specified: A4, A3, A5, B5, Letter, Legal,
		      Tabloid,	Statement,  Executive,	Folio,	Quarto, 10x14.
		      Format names are case insensitive. Also, an argument  of
		      the form dimxdim is accepted to specify arbitrary dimen‐
		      sions. The default page size is Letter (or A4,  if  this
		      was configured at compile time, see COMPILE TIME CONFIG‐
		      URATION below).  Page format names can be abbreviated by
		      a	 prefix	 as long as it is unambiguous. This option has
		      no effect for variable-sized backends.

       -W dim, --width dim
		      set the width of output image (before any	 rotation  and
		      margins).	 If only one of width and height is specified,
		      the other is adjusted accordingly	 so  that  the	aspect
		      ratio is preserved.

       -H dim, --height dim
		      set the height of output image. See -W for details.

       -r n[xn], --resolution n[xn]
		      for  dimension-based  backends,  set  the resolution (in
		      dpi). One inch in the output image corresponds  to  this
		      many  pixels  in	the  input.  Note  that a larger value
		      results in a smaller output image.  It  is  possible  to
		      specify  separate	 resolutions in the x and y directions
		      by giving an argument of the  form  nxn.	For  variable-
		      sized  backends,	the  default  resolution is 72dpi. For
		      fixed-size backends, there is no default resolution; the
		      image  is	 by  default  scaled  to fit on the page. This
		      option has no effect for pixel-based backends. If -W  or
		      -H are specified, they take precedence.

       -x n[xn], --scale n[xn]
		      for  pixel-based	backends,  set	the  scaling factor. A
		      value greater  than  1  enlarges	the  output,  a	 value
		      between 0 and 1 makes the output smaller. The default is
		      1. It is possible to specify  separate  scaling  factors
		      for  the x and y directions by giving an argument of the
		      form nxn. This option has no effect for  dimension-based
		      backends.	 If  -W	 or -H are specified, they take prece‐
		      dence.

       -S n, --stretch n
		      set the aspect ratio. A value greater than 1  means  the
		      image  will  be  stretched  in  the y direction. A value
		      between 0 and 1 means the image will  be	compressed  in
		      the y direction.

       -A angle, --rotate angle
		      set  the rotation angle (in degrees). The output will be
		      rotated counterclockwise by this angle. This  is	useful
		      for  compensating for images that were scanned not quite
		      upright.

       -M dim, --margin dim
		      set all four margins. The effect and  default  value  of
		      this  option  depend on the backend.  For variable-sized
		      backends, the margins will simply be  added  around  the
		      output  image  (or  subtracted, in case of negative mar‐
		      gins). The default margin for these backends is 0.   For
		      fixed-size  backends, the margin settings can be used to
		      control the placement of the image on the page. If  only
		      one  of  the  left  and right margin is given, the image
		      will be placed this distance from the respective edge of
		      the  page,  and similarly for top and bottom. If margins
		      are given on opposite sides, the image is scaled to  fit
		      between  these  margins,	unless	the scaling is already
		      determined explicitly by one or more of the -W, -H,  -r,
		      or  -x  options.	By  default, fixed-size backends use a
		      non-zero margin whose width depends on the page size.

       -L dim, --leftmargin dim
		      set the left margin. See -M for details.

       -R dim, --rightmargin dim
		      set the right margin. See -M for details.

       -T dim, --topmargin dim
		      set the top margin. See -M for details.

       -B dim, --bottommargin dim
		      set the bottom margin. See -M for details.

       --tight	      remove whitespace around the image  before  scaling  and
		      margins  are  applied. If this option is given, calcula‐
		      tions of the width, height, and margins are based on the
		      actual  vector  outline, rather than on the outer dimen‐
		      sions of the input pixmap, which is the default. In par‐
		      ticular,	the  --tight  option can be used to remove any
		      existing margins from the	 input	image.	See  the  file
		      placement.pdf for a more detailed illustration.

   Color options:
       These options are only supported by certain backends. The DXF and GeoJ‐
       SON backends do not support color.

       -C #rrggbb, --color #rrggbb
		      set the  foreground  color  of  the  output  image.  The
		      default is black.

       --fillcolor #rrggbb
		      set  the fill color of the output image, i.e., the color
		      of the "white" parts that are enclosed by "black" parts.
		      The default is to leave these parts transparent. Implies
		      --opaque.	 Please note that this option sets  the	 back‐
		      ground  color;  to set the foreground color, use --color
		      instead.

       --opaque	      fill in the white parts of the image  opaquely,  instead
		      of  leaving them transparent. This only applies to inte‐
		      rior white parts, i.e., those that are enclosed inside a
		      black  outline.  Opaqueness  is always in effect for the
		      XFig backend.

   SVG options:
       --group	      for SVG output, try to  group  related  paths  together.
		      Each  path  is  grouped together with all paths that are
		      contained inside it, so that they can be moved around as
		      a	 unit with an SVG editor. This makes coloring individ‐
		      ual components slightly more cumbersome, and thus it  is
		      not the default.

       --flat	      for SVG output, put the entire image into a single path.
		      This makes it impossible to color the  components	 indi‐
		      vidually,	 and  thus  it	is  not	 the  default. But the
		      resulting SVG file can be more easily imported  by  some
		      applications such as Gimp. In fact, the Gimppath backend
		      is a variation of the SVG backend with the --flat option
		      and pixel-based scaling. The --flat option has no effect
		      if --opaque has been selected.

   PostScript/EPS/PDF options:
       -c, --cleartext
		      do not compress the output. This option disables the use
		      of compression filters in the PostScript and PDF output.
		      In the  PostScript  backend,  if	-c  and	 -q  are  used
		      together,	 the  resulting	 output	 can be easily read by
		      other programs or even by humans.

       -2, --level2   use  PostScript  level  2	 compression  (default).   The
		      resulting	 file  size  is ca. 40% smaller than if the -c
		      option is used.

       -3, --level3   use PostScript level 3 compression, if  available.  This
		      gives  slightly  smaller	files  than  using -2, but the
		      resulting files may not print on older PostScript	 level
		      2	 printers.  If support for PostScript level 3 compres‐
		      sion has been disabled at compile time, a	 warning  mes‐
		      sage is printed and level 2 compression is used instead.

       -q, --longcoding
		      turn  off	 optimized numerical coding in PostScript out‐
		      put. Normally, potrace uses  a  very  compact  numerical
		      format  to represent Bezier curves in PostScript, taking
		      advantage of existing redundancy in  the	curve  parame‐
		      ters.  This  option disables this behavior, resulting in
		      longer, but more readable output (particularly if the -c
		      option is also used).

   PGM options:
       -G n, --gamma n
		      set  the gamma value for anti-aliasing (default is 2.2).
		      Most computer displays do not render shades of grey lin‐
		      early,  i.e.,  a	grey  value of 0.5 is not displayed as
		      being exactly half-way  between  black  and  white.  The
		      gamma  parameter	corrects for this, and therefore leads
		      to nicer looking output. The default  value  of  2.2  is
		      appropriate for most normal CRT displays.

   Frontend options:
       -k n, --blacklevel n
		      set  the	threshold level for converting input images to
		      bitmaps. The potrace algorithm expects  a	 bitmap,  thus
		      all pixels of the input images are converted to black or
		      white before processing begins.  Pixels whose brightness
		      is  less than n are converted to black, all other pixels
		      to white. Here n is a number between 0 and 1.  One  case
		      is  treated  specially:  if  the	input is in an indexed
		      color format with exactly 2 colors, then the  blacklevel
		      is ignored and the darker of the two colors is mapped to
		      black.

		      Note: the method used by potrace for converting greymaps
		      to  bitmaps  is  very  crude; much better results can be
		      obtained if a separate program, such as mkbitmap(1),  is
		      used for this purpose. In particular, mkbitmap(1), which
		      is distributed with potrace, has the  ability  to	 scale
		      and  interpolate	the  image  before thresholding, which
		      results in much better preservation of detail.

       -i, --invert   invert the input bitmap before processing.

   Progress bar options:
       --progress     display a progress bar for  each	bitmap	that  is  pro‐
		      cessed. This is useful for interactive use.  The default
		      behavior is not to show any progress information.

       --tty mode     set the terminal mode for progress bar rendering. Possi‐
		      ble  values are "vt100", which requires a vt100-compati‐
		      ble terminal, and "dumb", which uses only ASCII  charac‐
		      ters. The default is system dependent.

BACKEND TYPES
       Backends can be classified in several ways, which affects the available
       command line options and their behavior:

       Fixed-size or variable-sized:
	    For fixed-size backends, the size of the page is always  the  same
	    (for  example Letter or A4, as specified at compile time or by the
	    -P option). By default, the image will be centered and  scaled  to
	    fit	 the  page  size.  For variable-size backends, the size of the
	    page follows the size of the image. Currently the PostScript (PS),
	    PDFPage, and XFig backends are fixed-size, and the remaining back‐
	    ends are variable-size.

       Dimension-based or pixel-based:
	    In dimension-based backends, distances are	measured  in  physical
	    units such as inches or centimeters. In pixel-based backends, dis‐
	    tances are measured in pixel units. The -r option only  works  for
	    dimension-based  backends, and the -x option only works for pixel-
	    based backends. Currently, the DXF,	 PGM,  Gimppath,  and  GeoJSON
	    backends  are  pixel-based,	 and the remaining backends are dimen‐
	    sion-based. Currently,  all	 pixel-based  backends	are  variable-
	    sized.

       Single-page or multi-page:
	    Single-page	 backends  can	only accept a single image. Multi-page
	    backends can accept multiple images, typically  one	 per  page  of
	    output.  Currently,	 the  PostScript  (PS),	 PDF, PDFPage, and PGM
	    backends are multi-page, and the remaining	backends  are  single-
	    page.  Note	 that  multiple	 input images can be read in two ways:
	    from multiple input files (with the -o option), or from  a	single
	    input file that holds several concatenated images.

COMPILE TIME CONFIGURATION
       Certain aspects of the behavior of potrace can be configured at compile
       time by passing the following options to the ./configure script.

       --disable-zlib
	    compile potrace without the zlib compression library.  This	 means
	    PostScript level 3 compression will not be available.

       --enable-metric
	    compile  potrace  with  centimeters as the default unit instead of
	    inches.

       --enable-a4
	    compile potrace with A4 as the default page size.

EXIT STATUS
       The exit status is 0 on successful completion, 1 if  the	 command  line
       was invalid, and 2 on any other error.

VERSION
       1.11

AUTHOR
       Peter Selinger <selinger at users.sourceforge.net>

       Please see the file AUTHORS for a full list of other contributors.

TECHNICAL DOCUMENTATION
       For  a detailed technical description of the potrace algorithm, see the
       file potrace.pdf, which is available from the  potrace  web  site.  For
       information on the Potrace library API, see potracelib.pdf.

WEB SITE AND SUPPORT
       The  latest version of potrace is available from http://potrace.source‐
       forge.net/. This site also contains a list of  frequently  asked	 ques‐
       tions, as well as information on how to obtain support.

SEE ALSO
       mkbitmap(1)

COPYRIGHT
       Copyright (C) 2001-2013 Peter Selinger

       This program is free software; you can redistribute it and/or modify it
       under the terms of the GNU General Public License as published  by  the
       Free  Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       This program is distributed in the hope that it	will  be  useful,  but
       WITHOUT	ANY  WARRANTY;	without	 even  the  implied  warranty  of MER‐
       CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  General
       Public License for more details.

       You should have received a copy of the GNU General Public License along
       with this program; if not, write to the Free Software Foundation, Inc.,
       59  Temple  Place,  Suite  330,	Boston,	 MA  02111-1307, USA. See also
       http://www.gnu.org/.

Version 1.11			 February 2013			    potrace(1)
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net