#bitmap-font #font #bitmap #ascii-text #text

bitfont

接受一个 ASCII 字符串,并生成一个包含位图字体的向量,以便轻松叠加到图像中

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年7月26日

#1705文本处理

MIT/Apache

11KB
95

rust-bitmap

一个简单的 rust 位图字体生成器。

包含一个简单的 8x8 位图字体,包含从 0x20 - 7F 的 ASCII 字符代码(空格,0-9,A-Z,a-z,标点符号)。如果字符串包含 0x20 - 0x7F ASCII 范围之外的字符,将返回错误。

它包含一些函数,您可以将字符串输入其中,并返回一个包含 8 个向量的 Result,每个向量包含生成位图字体的一行。然后可以轻松地在程序中循环遍历,将像素插入您正在使用的任何图像库,或者像以下示例中那样打印到控制台。

当前实现的功能有

  • 一个亮度函数,它接受前景/背景亮度值并返回一个包含这些值的向量,这对于灰度很有用。
  • 一个布尔函数,它简单地返回一个包含真/假值的向量,您可以对其进行任何操作。

示例代码

   extern crate bitfont;
   
   fn main() {
       use bitfont::bitmap_luma;
       let my_vec = bitmap_luma("abc123456", 8, 0).unwrap();
       for my_row in my_vec {
           for my_char in my_row {
               if my_char > 0 {
                   print!("");
               } else {
                   print!(" ");
               }
           }
           println!();
       }
       
       use bitfont::bitmap_bool;
       let my_vec = bitmap_bool("abc123456").unwrap();
       for my_row in my_vec {
           for my_char in my_row {
               if *my_char {
                   print!("");
               } else {
                   print!(" ");
               }
           }
           println!();
       }
   }

运行上面的示例代码应该会从亮度和布尔函数生成以下内容

        ███               ██     ████    ████      ███  ██████    ███   
         ██              ███    ██  ██  ██  ██    ████  ██       ██     
 ████    ██      ████     ██        ██      ██   ██ ██  █████   ██      
    ██   █████  ██  ██    ██      ███     ███   ██  ██      ██  █████   
 █████   ██  ██ ██        ██     ██         ██  ███████     ██  ██  ██  
██  ██   ██  ██ ██  ██    ██    ██  ██  ██  ██      ██  ██  ██  ██  ██  
 ███ ██ ██ ███   ████   ██████  ██████   ████      ████  ████    ████   
                                                                        
        ███               ██     ████    ████      ███  ██████    ███   
         ██              ███    ██  ██  ██  ██    ████  ██       ██     
 ████    ██      ████     ██        ██      ██   ██ ██  █████   ██      
    ██   █████  ██  ██    ██      ███     ███   ██  ██      ██  █████   
 █████   ██  ██ ██        ██     ██         ██  ███████     ██  ██  ██  
██  ██   ██  ██ ██  ██    ██    ██  ██  ██  ██      ██  ██  ██  ██  ██  
 ███ ██ ██ ███   ████   ██████  ██████   ████      ████  ████    ████   

无运行时依赖