#svg #algorithm #contour #tracing #image #graphics #contour-tracing

app raster2svg

A tool that use the contour_tracing library

1 stable release

1.0.14 Feb 21, 2022
1.0.12 Aug 3, 2021
1.0.11 Feb 13, 2021
1.0.10 Sep 10, 2020
1.0.3 Mar 23, 2020

#313 in Images

39 downloads per month

EUPL-1.2

19KB
189 lines

raster2svg crates.io

A tool that use the contour_tracing library Package

Features

  • Support RGB colors + alpha channel (fully transparent colors are not traced)
  • Sort the colors from the most used to the less used
  • Input format: a raster image file
  • Output format: an SVG file

Features from the contour_tracing library: Package

  • Trace contours using the Theo Pavlidis' algorithm (connectivity: 4-connected)
  • Trace outlines in clockwise direction
  • Trace holes in counterclockwise direction

Options

 -s, --size                Add the width, height and viewBox attributes
 -d, --ids                 Add the RGB colors and opacity values as id attributes
 -k, --inkscape            Add some Inkscape attributes (transparent background, pixel units, grid, snapping, ...)
 -r, --rendering           Set the shape-rendering attribute to crispEdges
 -c, --closepaths          Close the paths with the SVG Path Z command

 -z, --zoom <PERCENT>      Multiply the width and height attributes by a given percent (e.g. 250)
 -l, --color <COLOR>       Trace only one given color in hex notation RRGGBBAA (e.g. 112233FF)
 -a, --avcolor <AVCOLOR>   Avoid a given color in hex notation RRGGBBAA (e.g. 112233FF)
 -b, --bgcolor <BGCOLOR>   Add a background rectangle with a given color in hex notation RRGGBBAA (e.g. 112233FF)
 -i, --input <INPUT>       Input raster image filename (e.g. input.png)
 -o, --output <OUTPUT>     Output SVG filename (e.g. output.svg)

An example with some transparent colors

C:\>raster2svg.exe -s -d -k -r -i rust_input.png -o rust_output.svg
  • rust_input.png: rust_input.png

  • rust_output.svg: rust_output.svg

(click on it to view the source)

An example of a zoom by 800%

(Thanks Nayuki for your QR Code generator)

C:\>raster2svg.exe -s -z 800 -k -r -l 000000ff -b ffffffff -i qrcode_input.png -o qrcode_output.svg
  • qrcode_input.png: qrcode_input.png

  • qrcode_output.svg: qrcode_output.svg

(click on it to view the source)

Informations

  • Be careful with the size and complexity of your input image because the SVG file size grows rapidly...
  • An already compiled executable is available for Windows on GitHub: https://github.com/STPR/raster2svg/releases

License

raster2svg https://github.com/STPR/raster2svg

Copyright (c) 2022, STPR - https://github.com/STPR

SPDX-License-Identifier: EUPL-1.2

Contribution

Your contribution is highly appreciated. Do not hesitate to open an issue or a pull request. Note that any contribution submitted for inclusion in the project will be licensed according to the terms given in LICENSE.txt.

Dependencies

~6.5MB
~89K SLoC

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy