From c8a49a519cfdb83ace2bb8fd2a0c3fcddf2e6df5 Mon Sep 17 00:00:00 2001 From: Louis <contact@louiscap.co> Date: Thu, 13 Oct 2022 17:02:41 +0000 Subject: [PATCH] Add README.md --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e631ee --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# PNG to SVG + +It converts png images to SVG vectors. + +That'is it. + +## Installation + +### From Source + +1. Clone this repository +2. Run "cargo build --release" +3. Copy `target/release/png_to_svg` to somewhere in your system's `$PATH` + +### Prebuilt (Linux) + +1. Use your favourite method (curl, wget, browser, etc) to download the latest binary: `https://lab.lcr.gr/microhacks/png-to-svg/-/jobs/artifacts/trunk/raw/png_to_svg?job=build:application` +2. Copy `png_to_svg` to somewhere in your system's `$PATH` + +## Usage + +```bash +$: png_to_svg --help +Convert RGBA8 PNG images into SVGs, where each pixel of input creates one output rect + +Usage: png_to_svg [OPTIONS] <INPUT_FILE> <OUTPUT_FILE> + +Arguments: + <INPUT_FILE> + <OUTPUT_FILE> + +Options: + -s, --scale <SCALE> Set the size of each output pixel; creates an NxN rect for each input pixel where N is the scale [default: 1] + -h, --help Print help information + -V, --version Print version information +``` + +### Notes + +- The input and output files do not need to have `png` and `svg` suffixes, respectively. Instead, the file types are assumed +- `-s` and `--scale` will set affect the `width`, `height`, and `viewbox` attributes of the root `<svg>` element, and the `x`, `y`, `width`, and `height` attributes of the pixel `rect` elements +- The file size of the SVG equivalent is quite large compared to the original PNG -- GitLab