5 个版本 (3 个破坏性更新)

0.4.1 2021 年 3 月 4 日
0.4.0 2021 年 3 月 4 日
0.3.0 2021 年 2 月 24 日
0.2.0 2021 年 2 月 20 日
0.1.0 2021 年 2 月 18 日

#459命令行界面

每月 35 次下载
用于 zuk

MIT 许可证

220KB
210

文档 仓库 crates.io

半分

hanbun 是一个用于在终端中绘制半块()的库,它允许渲染各种图形。

Ferris

Ferris 使用 examples/image.rs 渲染

安装

将以下行添加到您的 Cargo.toml 文件中

hanbun = "0.4.1"

示例

以下是一个示例,它使用常见的功能,例如创建缓冲区、设置着色半块、打印文本,最后将缓冲区绘制到屏幕上。

use hanbun::{self, Color};

fn main() {
    // Let's draw these two kanji on the screen using half blocks!
    let lines = [
        " W   W   W      W W",
        "  W  W  W      W   W",
        "     W        W     W",
        " WWWWWWWWW   W       W",
        "     W      W         W",
        "     W       WWWWWWWWW",
        "WWWWWWWWWWW     W    W",
        "     W          W    W",
        "     W          W    W",
        "     W         W  W W",
        "     W       WW    W",
    ];

    let width = lines.iter().map(|line| line.len()).max().unwrap();
    let height = lines.len() / 2 + 2;
    // Here we store the state of each cell
    let mut buffer = hanbun::Buffer::new(width, height, ' ');

    let mut x = 0;
    let mut y = 0;
    for line in &lines {
        for char in line.chars() {
            // We set a colored half block for each W we find
            if char == 'W' {
                buffer.color(x, y, Color::Green);
            }
            x += 1;
        }
        y += 1;
        x = 0;
    }

    // Add some centered text to the bottom
    let text = "hanbun";
    buffer.print(width / 2 - text.len() / 2, height + 5, text);

    // Actually display what we've drawn
    buffer.draw();
}

结果

Result

结果可能因终端而异。

请务必查看其他示例!您现在可以运行类似计算器的示例

git clone https://github.com/r00ster91/hanbun.git
cd hanbun
cargo run --example calculator

脚注

这是我第一个 Rust 库,让我积累了一些 crate 开发经验。目前,该库可用,但如果您进行重复绘制,可能会遇到撕裂。另一方面,您会得到旧显示器的那种怀旧感觉。

依赖项

~2MB
~36K SLoC