我如何在终端中显示图片?

14

有没有一种实用工具可以将图像转换为ASCII字符,并在终端中打印出来?我找了一下,但好像没找到。


请注意,有些终端可以直接显示图像而无需将其转换为文本。它们只会显示图像。例如,kitty 终端就可以做到这一点。 - Flimm
请注意,有些终端可以直接显示图像,而无需将其转换为文本。它们只会显示图像。例如,kitty终端就可以做到这一点。 - undefined
7个回答

10

有一个叫做 cacaview 的程序可以实现这个功能。

它是交互式的,可以让你平移、缩放和更改显示模式。

Cacaview示例

(完整尺寸图片)


2
cacaview 打开一个新窗口,它不会将图像打印到终端,至少在 Ubuntu 21.10 中不会。 - Flimm
似乎没有命令行选项,但您可以执行清除DISPLAY环境变量的操作,以使其在当前终端中运行:DISPLAY= cacaview yourimage.jpg - Stecman
设置 DISPLAY= 是有效的,但它会占用终端屏幕,不像 echo 一样可以将输出打印到终端。 - Flimm
请看meduz的回答 - img2txt使用与cacaview相同的基础代码,但像您要求的那样打印到控制台。 - Stecman

7

Chafa

I like to use chafa.

chafa example.png

您可以从Chafa网站或您喜欢的软件包管理器(如APT)下载Chafa:

截图

sudo apt install chafa

6
更简单的方法是,您可以使用caca库中的(是一个图像浏览器并打开一个新窗口,我想这不是所要求的);
例如:

Screenshot

在macOS上,您可以使用Homebrew:

$ brew reinstall libcaca --with-imlib2

(imlib被用于在不同格式之间进行转换)


Homebrew 的默认安装 libcaca(即不传递 --with-imlib2)似乎无法打开任何文件。 - bonh

4

在提问之前,请先尝试使用Google-Ninja!我找到了cacaviewaview


5
现在这个页面成为了谷歌的第一个答案。 - MiniScalope

3

2

0
另一种选择是使用IPython笔记本:它非常擅长做你所要求的事情。
对于bash: 你必须在命令前加上一个感叹号。 对于图片: 你可以使用IPython的丰富显示系统
结果的截图:

screenshot of the result

在这个帖子中可以找到完整的答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接