A library for encoding arbitrary data into images, a tecnique also known as steganography.
This is the foundation for the seagul
cli application.
Basic example
Encode
Read an image and resave it with some verses encoded into it, using the last 2 bits on the blue channel of each pixel to encode them
let encode_result = from
.set_use_n_lsb
.set_use_channel
.encode_data;
assert!;
encode_result
.unwrap
.save
.expect;
Decode
let decoded = from
.set_use_n_lsb
.set_use_channel
.until_marker // <- If you know how the message ends
.decode;
assert!;
let decoded = decoded.unwrap.as_raw;
println!;
Supported formats
While almost every major image format is supported as input, at the moment only PNG and BMP are supported as output formats. JPEG and other formats support is planned.