使用Python在终端上显示图像
在本文中,我们将讨论如何使用Python在终端上显示图像。我们将使用climage模块。该模块具有以下特点——
- 它有助于将图像转换为其 ANSI 转义码,以便能够在命令行界面上进行打印。
- 它允许对生动图像进行 8/16/256 位颜色编码。
- 它为不同终端主题的更多细节和可调托盘提供 ASCII/Unicode 支持
安装
这个模块没有内置于Python。要安装此类型,请在终端中输入以下命令。
pip install climage
安装完成后,下一步是导入convert()和to_file()函数,前者执行转换任务,后者执行转换任务并根据需要保存到输出文件。
句法:
convert(filename, is_unicode=False, is_truecolor=False, is_256color=True, is_16color=False, is_8color=False, width=80, palette=”default”)
Parameters:
filename : Name of image file.
is_unicode : If true, conversion is done in unicode format, otherwise ASCII characters will be used.
is_truecolor : Whether to use RGB colors in generation, if supported by terminal. Defaults False.
is_256color : Whether to use 256 colors encoding. Defaults True.
is_16color : Whether to use 16 colors encoding. Defaults False.
is_8color : Whether to use first 8 System colors. Defaults False.
width : Number of blocks of console to be used. Defaults to 80.
palette : Sets mapping of RGB colors scheme to system colors. Options are : [“default”, “xterm”, “linuxconsole”, “solarized”, “rxvt”, “tango”, “gruvbox”, “gruvboxdark”]. Default is “default”.
to_file(infile, outfile, is_unicode=False, is_truecolor=False, is_256color=True, is_16color=False, is_8color=False, width=80, palette=”default”)
Parameters:
infile : The name/path of image file.
outfile : File in which to store ANSI encoded string.
示例 1:在终端上打印
使用的图像:
Python3
import climage
# converts the image to print in terminal
# inform of ANSI Escape codes
output = climage.convert('banana.png')
# prints output on console.
print(output)
Python3
import climage
# saves the converted encoded string
# to banana_ansi file.
output = climage.to_file('banana.png', 'banana_ansi')
Python3
import climage
# converts the image to print in terminal
# with 8 color encoding and palette tango
output = climage.convert('banana.png', is_8color=True,
palette='tango', is_256color=False)
# prints output on console.
print(output)
输出 :
示例 2:将编码保存到文件。
蟒蛇3
import climage
# saves the converted encoded string
# to banana_ansi file.
output = climage.to_file('banana.png', 'banana_ansi')
输出 :
[48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [48;5;15m [0m …
示例 3:使用命令行工作
类似的函数也可用于使用类似结构的命令行工作,参数在前一部分中解释过。
句法 :
climage [-h] [-v] [–unicode | –ascii] [–truecolor | –256color | –16color | –8color] [–palette {default,xterm,linuxconsole,solarized,rxvt,tango,gruvbox,gruvboxdark}] [-w width] [-o outfile] inputfile
在职的:
示例 4:使用命令行的自定义示例
下面的示例显示使用自定义示例设置不同的可能参数。
示例 5:使用Python代码的自定义示例。
扩展到上一部分,本节展示了如何使用代码中的自定义参数来构建不同的图像。
蟒蛇3
import climage
# converts the image to print in terminal
# with 8 color encoding and palette tango
output = climage.convert('banana.png', is_8color=True,
palette='tango', is_256color=False)
# prints output on console.
print(output)
输出: