3个不稳定版本

0.2.0 2022年3月5日
0.1.1 2021年11月8日
0.1.0 2021年10月25日

#467可视化

Download history 434/week @ 2024-03-13 273/week @ 2024-03-20 88/week @ 2024-03-27 201/week @ 2024-04-03 119/week @ 2024-04-10 74/week @ 2024-04-17 144/week @ 2024-04-24 163/week @ 2024-05-01 194/week @ 2024-05-08 519/week @ 2024-05-15 365/week @ 2024-05-22 297/week @ 2024-05-29 334/week @ 2024-06-05 343/week @ 2024-06-12 247/week @ 2024-06-19 318/week @ 2024-06-26

1,284 每月下载量
4 crates 中使用

MIT/Apache

285KB
1.5K SLoC

Text To Png

此crate提供了一种将基本文本渲染为png图像的简单接口。

特性

  • 100% Rust! 我们使用usvg进行路径矢量,resvg进行光栅化,以及tiny-skia进行png转换
  • 内置的等宽字体由Ryoichi Tsunekawa提供
  • 灵活的颜色指定,"Aquamarine""#4506AE""EEE"0
  • 提供文本基线高度以实现对齐一致性
  • 接受TrueType字体文件或TrueType字体集合文件

示例

默认字体

use text_to_png::TextRenderer;

let renderer = TextRenderer::default();

let text_png = renderer.render_text_to_png_data(
    "Rénder this, brö",
    64,
    "Dark Turquoise");

&[u8]数据返回在text_png.data中写入到text.png

Rendered Text Image

自定义字体

use text_to_png::TextRenderer;

let renderer = TextRenderer::try_new_with_ttf_font_data(include_bytes!("../tests/resources/Because I am Happy Regular.ttf"))
    .expect("Example font is definitely loadable");

let text_png = renderer.render_text_to_png_data(
    "Custom Fonts are Cool!",
    52,
    0x439EC2);

&[u8]数据返回在text_png.data中写入到text.png

Rendered Text Image

命令行界面

请参阅CLI Readme

依赖关系

~8.5MB
~168K SLoC