8 releases
0.2.3 | Dec 9, 2022 |
---|---|
0.2.2 | Dec 9, 2022 |
0.1.3 | Dec 5, 2022 |
#782 in Images
25KB
564 lines
RoboHash
Rust implementation of RoboHash by e1ven
Install
robohash = "0.2.3"
Example Implementation
use std::fmt::Error;
use robohash::RoboHashBuilder;
fn main() -> Result<(), Error> {
let text = "test";
let robo = RoboHashBuilder::new(text).build();
let robo_hash = robo.assemble_base64()?;
println!("{robo_hash:#?}");
Ok(())
}
Define Size
let width = 512;
let height = 512;
let robo = RoboHashBuilder::new("test")
.with_size(width, height)
.build();
Define Colour
let robo = RoboHashBuilder::new("test")
.with_colour("green")
.build();
Define Set
let robo = RoboHashBuilder::new("test")
.with_set("set3")
.build();
Change Sets Directory
let robo = RoboHashBuilder::new("test")
.with_set_location("./sets_location")
.build();
Define Background
let robo = RoboHashBuilder::new("test")
.with_background_set("bg1")
.build();
Change Background Directory
let robo = RoboHashBuilder::new("test")
.with_background_location("./backgrounds")
.build();
Full Example
use std::fmt::Error;
use robohash::RoboHashBuilder;
fn main() -> Result<(), Error> {
let text = "test";
let robo = RoboHashBuilder::new(text)
.with_set("set1")
.with_colour("green")
.with_set_location("./sets-root")
.with_background_set("bg1")
.with_background_location("./backgrounds")
.with_size(512, 512)
.build();
let robo_hash = robo.assemble_base64()?;
println!("{robo_hash:#?}");
Ok(())
}
Implemented
- Generate base64 robo hash image from any of the provided sets and colours
- Background support
- Image size support
Todo
- Support backgrounds
- Support for saving images to disk
- Support for returning raw image data
- Support image sizing
Dependencies
~20–28MB
~510K SLoC