8个版本
0.1.4 | 2024年8月9日 |
---|---|
0.1.3 | 2024年3月19日 |
#173 in 命令行界面
486次每月下载
用于 2 crates
26KB
230 行
ratatui-splash-screen
Ratatui小部件,可将任何图像转换为终端的启动画面 ✨
查看gpg-tui的示例以了解实际应用。
功能
- 将任何图像(
jpg
、png
)转换为启动画面! - 通过检查SHA校验和验证文件完整性(可选)
- 支持灰度
安装
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
。
贡献
查看贡献指南。
许可
本软件受以下任一许可协议的许可:Apache License Version 2.0 或 MIT 许可协议,您可自行选择。
🦀 ノ( º _ º ノ) - 尊重螃蟹!
版权
版权 © 2024, Orhun Parmaksız
依赖项
~10–20MB
~288K SLoC