1 个不稳定版本
使用旧的 Rust 2015
0.1.0 | 2017年7月26日 |
---|
#1705 在 文本处理
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!();
}
}
运行上面的示例代码应该会从亮度和布尔函数生成以下内容
███ ██ ████ ████ ███ ██████ ███
██ ███ ██ ██ ██ ██ ████ ██ ██
████ ██ ████ ██ ██ ██ ██ ██ █████ ██
██ █████ ██ ██ ██ ███ ███ ██ ██ ██ █████
█████ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███ ██ ██ ███ ████ ██████ ██████ ████ ████ ████ ████
███ ██ ████ ████ ███ ██████ ███
██ ███ ██ ██ ██ ██ ████ ██ ██
████ ██ ████ ██ ██ ██ ██ ██ █████ ██
██ █████ ██ ██ ██ ███ ███ ██ ██ ██ █████
█████ ██ ██ ██ ██ ██ ██ ███████ ██ ██ ██
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
███ ██ ██ ███ ████ ██████ ██████ ████ ████ ████ ████