• Stars
    star
    229
  • Rank 174,044 (Top 4 %)
  • Language
    Shell
  • License
    GNU General Publi...
  • Created over 11 years ago
  • Updated about 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

[mirror] Tool for tracing a bitmap, which means, transforming a bitmap into a smooth, scalable image
	   POTRACE - transform bitmaps into vector graphics
			
				* * *
	   
DESCRIPTION

 Potrace is a tool for tracing a bitmap, which means, transforming a
 bitmap into a smooth, scalable image.  The input is a bitmap (PBM,
 PGM, PPM, or BMP), and the output is one of several vector file
 formats.  A typical use is to create SVG or PDF 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 resolution.

 Potrace can currently produce the following output formats: SVG, PDF,
 EPS, PostScript, DXF, GeoJSON, PGM (for easy antialiasing of
 pixel-based images), Gimppath, and XFig. Additional backends might be
 added in the future.

 A separate program, mkbitmap, is also provided. This program can act
 as a pre-processor for Potrace, applying scaling and various filters
 to an image before converting it to a bitmap. This is useful for
 potracing greyscale and color images.

DEPENDENCIES

 Potrace relies on the zlib library for PostScript level 3
 compression. This library is pre-installed on most modern systems. 
 If not present, it can be obtained from http://www.gzip.org/zlib/.

COMPILATION

 For generic compilation instructions, see the file INSTALL.  In
 addition, the following compile time options (options to ./configure)
 are supported. 

  --with-libpotrace       install Potrace library and headers (default: no)
  --disable-zlib          disable PostScript level 3 compression
  --enable-metric         use metric units (centimeters) as default
  --enable-a4             use a4 as the default papersize
  --enable-dumb-tty       use simplified ASCII-only progress bar
  --with-included-getopt  avoid using the system-wide getopt library

 See also ./configure --help.

INSTALLING

 If you are installing from sources, just do "make install" as root.
 If you are installing from a binary distribution, just copy the
 "potrace" and "mkbitmap" binaries to a place where the operating
 system expects them, such as /usr/local/bin. Also copy the files
 "potrace.1" and "mkbitmap.1" to a directory where the operating
 system looks for man pages, such as /usr/local/man/man1. For
 instructions on installing Potrace under Windows, see the file
 README-WIN

USAGE

 For more detailed usage information, see the man page.

 Usage: potrace [options] [filename...]
 General options:
  -h, --help                 - print this help message and exit
  -v, --version              - print version info and exit
  -l, --license              - print license info and exit
 File selection:
  <filename>                 - an input file
  -o, --output <filename>    - write all output to this file
  --                         - end of options; 0 or more input filenames follow
 Backend selection:
  -b, --backend <name>       - select backend by name
  -b svg, -s, --svg          - SVG backend (scalable vector graphics)
  -b pdf                     - PDF backend (portable document format)
  -b pdfpage                 - fixed page-size PDF backend
  -b eps, -e, --eps          - EPS backend (encapsulated PostScript) (default)
  -b ps, -p, --postscript    - PostScript backend
  -b pgm, -g, --pgm          - PGM backend (portable greymap)
  -b dxf                     - DXF backend (drawing interchange format)
  -b geojson                 - GeoJSON backend
  -b gimppath                - Gimppath backend (GNU Gimp)
  -b xfig                    - XFig backend
 Algorithm options:
  -z, --turnpolicy <policy>  - how to resolve ambiguities in path decomposition
  -t, --turdsize <n>         - suppress speckles of up to this size (default 2)
  -a, --alphamax <n>         - corner threshold parameter (default 1)
  -n, --longcurve            - turn off curve optimization
  -O, --opttolerance <n>     - curve optimization tolerance (default 0.2)
  -u, --unit <n>             - quantize output to 1/unit pixels (default 10)
  -d, --debug <n>            - produce debugging output of type n (n=1,2,3)
 Scaling and placement options:
  -P, --pagesize <format>    - page size (default is letter)
  -W, --width <dim>          - width of output image
  -H, --height <dim>         - height of output image
  -r, --resolution <n>[x<n>] - resolution (in dpi) (dimension-based backends)
  -x, --scale <n>[x<n>]      - scaling factor (pixel-based backends)
  -S, --stretch <n>          - yresolution/xresolution
  -A, --rotate <angle>       - rotate counterclockwise by angle
  -M, --margin <dim>         - margin
  -L, --leftmargin <dim>     - left margin
  -R, --rightmargin <dim>    - right margin
  -T, --topmargin <dim>      - top margin
  -B, --bottommargin <dim>   - bottom margin
  --tight                    - remove whitespace around the input image
 Color options, supported by some backends:
  -C, --color #rrggbb        - set foreground color (default black)
  --fillcolor #rrggbb        - set fill color (default transparent)
  --opaque                   - make white shapes opaque
 SVG options:
  --group                    - group related paths together
  --flat                     - whole image as a single path
 Postscript/EPS/PDF options:
  -c, --cleartext            - do not compress the output
  -2, --level2               - use postscript level 2 compression (default)
  -3, --level3               - use postscript level 3 compression
  -q, --longcoding           - do not optimize for file size
 PGM options:
  -G, --gamma <n>            - gamma value for anti-aliasing (default 2.2)
 Frontend options:
  -k, --blacklevel <n>       - black/white cutoff in input file (default 0.5)
  -i, --invert               - invert bitmap
 Progress bar options:
  --progress                 - show progress bar
  --tty <mode>               - progress bar rendering: vt100 or dumb
 
 Dimensions can have optional units, e.g. 6.5in, 15cm, 100pt.
 Default is inches (or pixels for pgm, dxf, and gimppath backends).
 Possible input file formats are: pnm (pbm, pgm, ppm), bmp.
 Backends are: svg, pdf, pdfpage, eps, postscript, ps, dxf, geojson, pgm,
 gimppath, xfig.

POTRACE LIBRARY (FOR DEVELOPERS)

 As of Potrace release 1.6, the Potrace core functionality has been
 separated into a library libpotrace.a. This makes it easy to integrate
 tracing functionality into other GPL programs. The API of the library
 is defined in the header file potracelib.h, and is documented in
 doc/potracelib.pdf. It is not by default installed, but can be
 installed with the --with-libpotrace configuration option.

DOCUMENTATION

 Usage information is contained in the man page:
 http://potrace.sourceforge.net/potrace.html

 Many common questions are answered in the FAQ:
 http://potrace.sourceforge.net/faq.html

 Some examples are given on the following web pages:
 http://potrace.sourceforge.net/samples.html
 http://potrace.sourceforge.net/mkbitmap.html

 The inner workings of the potrace algorithm are explained here:
 http://potrace.sourceforge.net/potrace.pdf

 The potrace library is documented here:
 http://potrace.sourceforge.net/potracelib.pdf

COPYRIGHT

 Copyright (C) 2001-2019 Peter Selinger

 The use of the name "Potrace" is governed by a separate policy, see
 TRADEMARKS below.

 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
 MERCHANTABILITY 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 
 See also http://www.gnu.org/.

 See the file COPYING for details.

TRADEMARKS

 "Potrace" is a trademark of Peter Selinger.

 Policy on using the name "Potrace". If you are planning to modify
 Potrace, including making a port of Potrace to another programming
 language, please be aware of the following. While the source code of
 Potrace is licensed under the GNU General Public License, the name
 "Potrace" is my trademark, and may only be used with my permission.

 In practice, I will permit the use of the name "Potrace" in
 connection with a port of Potrace to another programming language,
 provided that the port complies with the term of the GNU General
 Public License and produces the same high quality vectorized output
 as the original Potrace. Ports that are buggy or do not produce high
 quality output are not permitted to use the name "Potrace". To ensure
 compliance with this policy, please run your port by me before making
 it public. Also, if you use the "Potrace" name (or any derivative,
 such as "MyPotrace"), you must provide a name and email address where
 I can reach you. Derivatives of Potrace that are posted anonymously
 or where the authors cannot be reached or do not reply to email or
 bug reports are not permitted to use the name "Potrace".

 The purpose of this policy is to allow people to port Potrace to as
 many programming languages as possible, while also ensuring that all
 such ports are of the same high quality that has come to be
 associated with the name "Potrace".

GPG KEY

 The key fingerprint of Peter Selinger's GPG key is:
 12A2 4B3C 3790 B688 E484  7A98 A68B CC37 CA31 696A
 This may be useful for authenticating future versions of Potrace.

More Repositories

1

laravel-nuxt-js

Build a SPA with Laravel and Nuxt.
JavaScript
146
star
2

laravel-nuxt

Build a SPA with Laravel and Nuxt.
PHP
123
star
3

clipper

[mirror] An open source freeware polygon clipping library
Pascal
84
star
4

RichText

Rich text class for SFML2. Allows the user to draw lines of text with different styles and colors.
C++
47
star
5

vue-jsx-hot-loader

Webpack loader for Vue.js v2 components with JSX render functions
JavaScript
41
star
6

psimpl

[mirror] Generic n-dimensional polyline simplification
C++
20
star
7

QxTimeLineEditor

Simple generic timeline editor for Qt
C++
10
star
8

props-to-local

Vue mixin that maps props to local data
JavaScript
7
star
9

aws-comsum-2023-introduction-to-wing

Slides and links for the AWS Comsum 2023 talk: Introduction to Wing
CWeb
6
star
10

QxClipper

Clipper wrapper class for Qt
C++
5
star
11

QxPotrace

Potrace wrapper class for Qt
C
5
star
12

query-syntax-php

Parse Algolia-like queries into sort of a AST.
PHP
4
star
13

jquery.iframe

jQuery plugin that creates inline iframes to isolate certain blocks of HTML
JavaScript
4
star
14

cloudy

Cloudy is a set of constructs for the AWS Cloud Development Kit that aim to improve the DX by providing a faster and type-safe code environment.
TypeScript
4
star
15

now

Vue mixin that generates a reactive time variable
JavaScript
2
star
16

linter-config

Linter Config Monorepo
JavaScript
2
star
17

animata

Mirror of animata
C++
2
star
18

QxMesh

2D mesh library for Qt
C++
2
star
19

gulp-less-watcher

(Not Maintained) Watches Less files (and imports) using an endless streaming interface (and generates sourcemaps)
JavaScript
2
star
20

jquery.promise

Lightweight promise implementation using jQuery.
JavaScript
2
star
21

linter-pug-lint

Atom linter plugin for Pug, using pug-lint.
JavaScript
2
star
22

makes-uuids

Mixin for Vue that generates UUIDs
JavaScript
2
star
23

cloudy-ts-eslint-plugin

ESLint plugin that provides a rule to enforce extensions on imports.
TypeScript
2
star
24

wingen

TypeScript
1
star
25

laravel-painless-legacy

Use some Laravel v5.3+ features in v5.2.
PHP
1
star
26

QxPSimpl

PSimpl wrapper class for Qt
C++
1
star
27

cloudy-docs

Documentation for Cloudy.
TypeScript
1
star
28

eslint-config-skyrpex

ESLint Shareable Config for JavaScript Style
JavaScript
1
star
29

QxPSimpl-2

C++
1
star
30

poi-preset-vue-jsx-hot-loader

Vue JSX hot loader's Poi preset
JavaScript
1
star
31

manifest-webpack-plugin

Creates an asset manifest
JavaScript
1
star
32

cloudy-node

TypeScript and ESM node runtime powered by esbuild.
TypeScript
1
star
33

QxPoly2Tri

Poly2Tri wrapper class for Qt
C++
1
star
34

gulp-webpack-sourcemaps

Wraps Webpack into a streaming interface (and generates sourcemaps)
JavaScript
1
star
35

cast-function

Casts value as a function if it's not one.
JavaScript
1
star