Skip to main content

text/
text.rs

1use ab_glyph::FontArc;
2use glam::{DVec2, dvec2};
3use palette::Srgba;
4use render_agnostic::{
5    Renderer, image_registries::image_image_registry::ImageImageRegistry,
6    renderers::image::ImageRenderer,
7};
8
9fn main() {
10    let mut image_renderer = ImageRenderer::new(
11        128,
12        128,
13        1.0,
14        DVec2::ZERO,
15        4,
16        FontArc::try_from_slice(include_bytes!("roboto.ttf")).unwrap(),
17        ImageImageRegistry::default(),
18    );
19
20    image_renderer.render_text(
21        "Top Left",
22        dvec2(0.0, 0.0),
23        anchor2d::LGT,
24        24.0,
25        Srgba::new(1.0, 1.0, 1.0, 1.0),
26    );
27
28    image_renderer.render_text_outline(
29        "Center",
30        dvec2(64.0, 64.0),
31        anchor2d::CGC,
32        24.0,
33        1.0,
34        Srgba::new(1.0, 1.0, 1.0, 1.0),
35        Srgba::new(1.0, 0.0, 0.0, 1.0),
36    );
37
38    image_renderer.render_text(
39        "Bottom Right",
40        dvec2(128.0, 128.0),
41        anchor2d::RGB,
42        24.0,
43        Srgba::new(1.0, 1.0, 1.0, 1.0),
44    );
45
46    image_renderer.render_text(
47        "Multiple\nLines",
48        dvec2(32.0, 32.0),
49        anchor2d::CGC,
50        24.0,
51        Srgba::new(1.0, 0.0, 0.0, 1.0),
52    );
53
54    image_renderer
55        .render_image_onto(image_renderer.black())
56        .save("text.png")
57        .unwrap();
58}