#ratatui #tui #terminal #console #splash

ratatui-splash-screen

Ratatui小部件,可将任何图像转换为终端的启动画面

8个版本

0.1.4 2024年8月9日
0.1.3 2024年3月19日

#173 in 命令行界面

Download history 36/week @ 2024-04-29 10/week @ 2024-05-06 15/week @ 2024-05-13 40/week @ 2024-05-20 37/week @ 2024-05-27 30/week @ 2024-06-03 47/week @ 2024-06-10 33/week @ 2024-06-17 29/week @ 2024-06-24 1/week @ 2024-07-01 25/week @ 2024-07-08 11/week @ 2024-07-15 30/week @ 2024-07-22 39/week @ 2024-07-29 259/week @ 2024-08-05 157/week @ 2024-08-12

486次每月下载
用于 2 crates

MIT/Apache

26KB
230

ratatui-splash-screen

Ratatui小部件,可将任何图像转换为终端的启动画面 ✨

demo

crates.io badge docs.rs badge license badge codecov.io badge discord badge

查看gpg-tui的示例以了解实际应用。

功能

  • 将任何图像(jpgpng)转换为启动画面!
  • 通过检查SHA校验和验证文件完整性(可选)
  • 支持灰度

安装

deps.rs badge

cargo add ratatui ratatui-splash-screen

使用方法

创建一个SplashConfig,并使用它构建一个SplashScreen小部件。然后使用render函数循环渲染小部件。您可以通过调用is_rendered来检查启动画面是否已渲染完成。

示例

use std::error::Error;
use std::io::stdout;
use std::time::Duration;

use ratatui::prelude::*;
use ratatui_splash_screen::{SplashConfig, SplashScreen, SplashError};

static SPLASH_CONFIG: SplashConfig = SplashConfig {
    image_data: include_bytes!("../assets/splash.png"),
    sha256sum: Some("c692ae1f9bd4a03cb6fc74a71cb585a8d70c2eacda8ec95e26aa0d6a0670cffd"),
    render_steps: 12,
    use_colors: true,
};

fn main() -> Result<(), Box<dyn Error>> {
    // create a terminal
    let backend = CrosstermBackend::new(stdout());
    let mut terminal = Terminal::new(backend)?;

    // render splash screen
    let mut splash_screen = SplashScreen::new(SPLASH_CONFIG)?;
    while !splash_screen.is_rendered() {
        terminal.draw(|frame| {
            frame.render_widget(&mut splash_screen, frame.size());
        })?;
        std::thread::sleep(Duration::from_millis(100));
    }

    Ok(())
}

查看完整的示例这里

技巧

  • 使用小图像(如200x200)以获得更好的体验。
  • 您可以通过调整render_steps值来获得更平滑的渲染。
  • 在您的系统上运行sha256sum(1)命令以获取SHA值。如果您不想检查完整性,可以将其设置为None

贡献

查看贡献指南

许可

License: MIT License: Apache 2.0

本软件受以下任一许可协议的许可:Apache License Version 2.0MIT 许可协议,您可自行选择。

🦀 ノ( º _ º ノ) - 尊重螃蟹!

版权 © 2024, Orhun Parmaksız

依赖项

~10–20MB
~288K SLoC