В этой статье мы обсудим, как отображать изображения на терминале с помощью Python. Для этого мы будем использовать модуль климат-контроля. Этот модуль имеет следующие особенности —
- Он помогает преобразовывать изображения в escape-коды ANSI, чтобы их можно было распечатать в интерфейсах командной строки.
- Он позволяет использовать цветовую кодировку 8/16/256 бит для ярких изображений.
- А также он обеспечивает поддержку ASCII / Unicode для более подробной информации и настраиваемых поддонов для различных тем терминалов.
Installation
Этот модуль не встроен в 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”)
Параметры:
- filename: Имя файла изображения.
- is_unicode: если true, преобразование выполняется в формате Unicode, в противном случае будут использоваться символы ASCII.
- is_truecolor: использовать ли цвета RGB при генерации, если это поддерживается терминалом. По умолчанию False.
- is_256color: использовать ли кодировку 256 цветов. По умолчанию True.
- is_16color: использовать ли кодировку 16 цветов. По умолчанию False.
- is_8color: использовать ли первые 8 системных цветов. По умолчанию False.
- width: Количество используемых блоков консоли. По умолчанию 80.
Палитра: Устанавливает сопоставление цветовой схемы RGB с системными цветами. Возможные варианты: [«по умолчанию», «xterm», «linuxconsole», «solarized», «rxvt», «tango», «gruvbox», «gruvboxdark»]. По умолчанию — «по умолчанию».
to_file (infile, outfile, is_unicode = False, is_truecolor = False, is_256color = True, is_16color = False, is_8color = False, width = 80, palette = «default»)
Параметры:
- infile: Имя / путь к файлу изображения.
- Outfile: файл, в котором хранится строка в кодировке ANSI.
Пример 1: Печать на Терминале
Используемое изображение:
import
climage
# converts the image to print in terminal
# inform of ANSI Escape codes
output
=
climage.convert(
'banana.png'
)
# prints output on console.
(output)
Выход :
Пример 2: Сохранение кодировки в файл.
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
Продолжая предыдущую часть, этот раздел показывает, как пользовательские параметры могут быть использованы из кода для создания различных изображений.
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.
(output)
Выход: