# Make quote [crates.io](https://crates.io/crates/make-quote) [docs.rs](https://docs.rs/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 ```rust 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: ![img](./assets/test.jpg) ## 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](https://nixos.org/download.html). Then follow [this instruction](https://nixos.wiki/wiki/Flakes#Enable_flakes) to setup flakes. Finally, run `nix develop` in the project root to get `cargo`, `rustc` and `rust-analyzer`...