15 releases (4 breaking)
0.5.3 | Jul 11, 2023 |
---|---|
0.5.2 | Jun 28, 2023 |
0.4.0 | Jun 25, 2023 |
0.3.3 | Jun 24, 2023 |
0.1.0 | Mar 11, 2023 |
#2 in #funny
126 downloads per month
540KB
466 lines
Make quote
This library provides a single function that can generate a quote image from user input. It is still under development, further document and crates.io dependencies will be released someday.
Usage
use make_quote::{QuoteProducer, ImgConfig};
// First of all, load an font into memory
let font = std::fs::read("/usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc").unwrap();
// Create a image producer
let bold_font = std::fs::read("/usr/share/fonts/noto-cjk/NotoSansCJK-Bold.ttc").unwrap();
let light_font = include_bytes!("/usr/share/fonts/noto-cjk/NotoSansCJK-Light.ttc");
let producer = QuoteProducer::builder()
.font(&bold_font, light_font)
.output_size(1920, 1080) // optional
.font_scale(120.0) // optional
.build();
// Create image configuration
let config = ImgConfig::builder()
.username("V5电竞俱乐部中单选手 Otto")
.avatar("./assets/avatar.png")
.quote("大家好,今天来点大家想看的东西。")
.build();
// Then generate the image and get the image buffer
let buffer = producer.make_image(&config).unwrap();
// You can do anything you like to the buffer, save it or just send it through the net.
std::fs::write("./assets/test.jpg", buffer).unwrap();
This will provide the below example output:
Collaboration
If you want to submit code but don't know how to setup Rust environment,
you can install nix via your package manager OR follow this instruction.
Then follow this instruction to setup flakes.
Finally, run nix develop
in the project root to get cargo
, rustc
and rust-analyzer
...
Dependencies
~22MB
~239K SLoC