Skip to main content

render_image/
render_image.rs

1use elefont::rusttype_provider::SizedFont;
2use elefont::FontCache;
3use image::ImageBuffer;
4use rusttype::Font;
5
6fn main() {
7    let font_data = include_bytes!("DejaVuSans.ttf");
8    let font = Font::from_bytes(font_data as &[u8]).expect("Error constructing Font");
9    let font = SizedFont::new(font, 24.0);
10
11    let image = ImageBuffer::new(200, 200);
12
13    let mut cache = FontCache::new(Box::new(font), image);
14    cache.render_string("Hello, world!").for_each(|r| {
15        r.unwrap();
16    });
17    cache.render_string("こんにちは世界!").for_each(|r| {
18        r.unwrap();
19    });
20    cache.render_string("Привет, мир!").for_each(|r| {
21        r.unwrap();
22    });
23    cache
24        .texture()
25        .save("result.png")
26        .expect("Failed to save file");
27}