Skip to content

Avimitin/make-quote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published