Отображение изображений в терминале с использованием Python

проекты Python Программирование и разработка

В этой статье мы обсудим, как отображать изображения на терминале с помощью 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.
print(output)

Выход :

converts the image to print in terminal

Пример 2: Сохранение кодировки в файл.

import climage
 
# saves the converted encoded string
# to banana_ansi file.
output = climage.to_file('banana.png', 'banana_ansi')

Выход :

                                                                                 …

Пример 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.
print(output)

Выход:

Продолжая предыдущую часть, этот раздел показывает, как пользовательские параметры могут

Читайте также:  Иерархическое наследование C++
Оцените статью
bestprogrammer.ru
Добавить комментарий