写在前面
这篇文章《趣玩 Linux:用 aview 从图片生成 ASCII 字符画》中介绍了一个强大而有趣的工具,可以用来显示字符画。尽管 aview 具有调整亮度、对比度等功能,但它仅能显示出黑白的。有小伙伴留言说,显示人像的效果很糟糕。那么这次介绍的 cacaview 的效果就比较惊艳了,特别是减小字号增加分辨率以后,即使是人像,显示效果也很棒。
本文地址:https://www.jeddd.com/article/linux-cacaview.html
安装 caca-utils
Ubuntu 等具有 apt 包管理的 Linux 下执行以下命令(必要时请先自行用“sudo apt update”更新软件源):
$ sudo apt install caca-utils
至此安装完成。根据 cacaview 文档的描述,该工具直接支持 PNG、JPG、GIF、BMP 等主流格式,无需其它支持。
使用 cacaview
用下面这张图片(演员 Tuppence Middleton,图片来自互联网)做测试,文件名为“tuppence.jpg”。
进入该目录,执行命令:
$ cacaview tuppence.jpg
这个效果看起来一般般嘛,毕竟分辨率太低,如下图。
如果先将字体调小,再执行上述命令,效果就不错了,如下图。当然,随着分辨率的提高,渲染速度也会有一定程度的下降。
cacaview 的其它操作
+
-
:放大或缩小;←
↓
↑
→
:方向键移动图片(同样支持h
j
k
l
);q
:退出;d
:切换 dither 模式。详见下文。
cacaview 中使用了一种叫做 Dither(高频振动)的技术,简单地说,就是在显示设备上使用较少的颜色种类去模拟出更多颜色的技术。cacaview 在显示彩色图片的时候就用到了这种技术。
在显示图片时按下d
键即可在多种 dither 模式中循环切换。
比如下面这只卡通赤柴,它身上的颜色无法被终端准确显示出来,而使用该技术,可以模拟类似的效果。以下二图分别为原图和录制的 cacaview 显示效果:
请问一下,上面提到通过事先调小字体再执行命令可以提高分辨率,我不太明白怎么调小字体,我应该怎么做呢
字体是终端软件的功能,需要在软件设置中找一下