file2png

Crates.iofile2png
lib.rsfile2png
version0.1.1
sourcesrc
created_at2021-08-10 18:28:59.979275
updated_at2021-08-10 18:28:59.979275
descriptionA program to embed files into pngs
homepage
repository
max_upload_size
id434419
size206,257
Megumin (meguminloli)

documentation

README

file2png

file2png is a rewrite of the bash script with the same name.

The original script was at this link.

Why a rewrite?

The bash scripts requires coreutils and Imagemagick. This are common on a *UNIX system, but not very common on Windows. This rewrite was built with cross-platform libraries so it should work on every system where you can find Rust.

I tried to keep the dependencies as low as possible, that's why I used argh and regress instead of the more popular clap and regex crates.

Building file2png

To build it for release,

cargo build --release

To debug it,

cargo build

On my system, the build (with all the dependencies) takes less than 12 seconds in release.

For smaller binaries and maybe improved performance, check out min-sized-rust.

Usage

To store a file as a png:

file2png store <input> <output>

To append comments to resulting metadata:

file2png store <input> <output> --comments <comment> --comments <comment> ..

To restore a png:

file2png restore <input>

This will restore the png to the original file name. To choose the resulting file name

file2png restore <input> --output <output>

To check the metadata

file2png info <input>

Benchmarks

Store performance Info performance Restore performance

Licensing

This project is licensed under GPLv3, because the original script was under the same license.

Have fun!

Commit count: 0

cargo fmt