stdout的缓存缓冲区

问题描述 投票:0回答:1

我正在尝试在Rust中制作ASCII动画,我希望尽可能多地缓存帧。举一个简单的例子,假设我正在跳舞柯比:

[<("<)<('')>(>")>

这就是我的三个帧。想象一下这些字符具有不同的颜色,而柯比的高度超过一行,并且在空白处我根本不想画任何东西(透明)。

我如何存储这些帧中的每一个,以便轻松地将其写入stdout或父级缓存层?

我本质上是在尝试使用与GUI相同的分层树绘缓存技术,但ASCII字符除外。


我一直在解析Stdout和BuffWriter上的文档,以及其他一些内容。一切似乎都相关,但我不确定如何将其组合在一起。

user-interface rust command-line-interface stdout
1个回答
0
投票

字符串很容易打印,而且-据我所知-您可以对粗体,背景色,文本颜色,闪烁等使用​​标准的bash表示法

https://askubuntu.com/questions/45242/how-do-i-use-bold-font-in-terminal-echo-cat

我找到的最简单的解决方案是2D字符串数组。 2d数组部分可能很明显,具有字符串作为项,因此您可以根据需要向每个“字符像素”添加尽可能多的样式。

© www.soinside.com 2019 - 2024. All rights reserved.