En este artículo, discutiremos cómo mostrar imágenes en una terminal usando Python. Usaremos el módulo climage para lo mismo. Este módulo tiene las siguientes características:
- Ayuda a convertir imágenes a sus códigos de escape ANSI para poder convertirlas en imprimibles en interfaces de línea de comandos.
- Permite codificaciones de color de 8/16/256 bits para imágenes vívidas.
- Proporciona compatibilidad con ASCII/Unicode para más detalles y paletas ajustables para diferentes temas de terminales
Instalación
Este módulo no viene integrado con Python. Para instalar este tipo, escriba el siguiente comando en la terminal.
pip install climage
Después de la instalación, el siguiente paso es importar las funciones convert() y to_file(), donde la primera realiza la tarea de conversión y la segunda realiza la tarea de conversión y guardar en el archivo de salida si es necesario.
Sintaxis:
convert(filename, is_unicode=False, is_truecolor=False, is_256color=True, is_16color=False, is_8color=False, width=80, palette=”default”)
Parámetros:
filename: Nombre del archivo de imagen.
is_unicode : si es verdadero, la conversión se realiza en formato Unicode; de lo contrario, se utilizarán caracteres ASCII.
is_truecolor : si usar colores RGB en la generación, si es compatible con el terminal. Valores predeterminados Falso.
is_256color : Si se utiliza la codificación de 256 colores. Valores predeterminados Verdadero.
is_16color : si se utiliza la codificación de 16 colores. Valores predeterminados Falso.
is_8color : Ya sea para usar los primeros 8 colores del sistema. Valores predeterminados Falso.
ancho : Número de bloques de consola a utilizar. El valor predeterminado es 80.
paleta:Establece la asignación del esquema de colores RGB a los colores del sistema. Las opciones son: [“predeterminado”, “xterm”, “linuxconsole”, “solarizado”, “rxvt”, “tango”, “gruvbox”, “gruvboxdark”]. El valor predeterminado es «predeterminado».
to_file(infile, outfile, is_unicode=False, is_truecolor=False, is_256color=True, is_16color=False, is_8color=False, width=80, palette=”default”)
Parámetros:
infile: El nombre/ruta del archivo de imagen.
outfile: archivo en el que almacenar la string codificada ANSI.
Ejemplo 1: Impresión en Terminal
Imagen utilizada:
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)
Producción :
Ejemplo 2: Guardar la codificación en un archivo.
Python3
import climage # saves the converted encoded string # to banana_ansi file. output = climage.to_file('banana.png', 'banana_ansi')
Producción :
[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 …
Ejemplo 3: Trabajando usando la línea de comando
También se puede usar una función similar para trabajar con la línea de comando usando construcciones similares, parámetros explicados en la parte anterior.
Sintaxis:
clima [-h] [-v] [–unicode | –ascii] [–color verdadero | –256color | –16color | –8color] [–palette {predeterminado,xterm,linuxconsole,solarized,rxvt,tango,gruvbox,gruvboxdark}] [-w ancho] [-o outfile] archivo de entrada
Laboral:
Ejemplo 4: Ejemplos personalizados usando la línea de comando
El siguiente ejemplo muestra el trabajo con ejemplos personalizados configurando diferentes parámetros posibles.
Ejemplo 5: Ejemplos personalizados usando código Python.
Extendiéndose a la parte anterior, esta sección muestra cómo se pueden usar los parámetros personalizados del código para construir diferentes imágenes.
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)
Producción:
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA