#image #generate #quote #font #user-input #toy #funny

make-quote

一个有趣的玩具项目,可以帮助您从某人的引语生成一张图片

15 个版本 (4 个重大更新)

0.5.3 2023年7月11日
0.5.2 2023年6月28日
0.4.0 2023年6月25日
0.3.3 2023年6月24日
0.1.0 2023年3月11日

#2 in #funny

Download history 5/week @ 2024-03-10 42/week @ 2024-03-31 2/week @ 2024-05-19

每月下载量126

MIT 许可证

540KB
466 代码行

生成引语图片

crates.io docs.rs

该库提供了一个函数,可以从用户输入生成引语图片。它仍在开发中,将来会发布更多的文档和crates.io依赖。

用法

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();

这将提供以下示例输出

img

合作

如果您想提交代码但不知道如何设置 Rust 环境,您可以通过包管理器安装 nix 或 遵循此说明。然后按照 此说明 设置 flakes。最后,在项目根目录中运行 nix develop 以获取 cargorustcrust-analyzer...

依赖关系

~22MB
~239K SLoC