make-quote

Crates.iomake-quote
lib.rsmake-quote
version0.5.3
sourcesrc
created_at2023-03-11 09:57:52.510047
updated_at2023-07-11 14:24:23.320752
descriptionA funny toy project that can help you generate a image from someone's quote
homepage
repositoryhttps://github.com/Avimitin/make-quote
max_upload_size
id807112
size542,065
Jiongjia Lu (Avimitin)

documentation

https://docs.rs/make-quote

README

Make quote

crates.io docs.rs

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:

img

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...

Commit count: 50

cargo fmt