Skip to main content

Convert images to ASCII representation

Project description

ASCII Wizard

Python package that converts images into ASCII representation for terminals supporting TrueColor only.

Acknowledgement

This project is inspired by another similar project ASCII_Magic. ASCII_Magic is a great choice if you still want ASCII representation on termninals not supporting TrueColor.

TrueColor

TrueColor means that your terminal can display 24 bits colors (full RGB space).

To check if your current terminal supports TrueColor, please check out this excellent resource.

Installation

pip install ascii_wizard

Basic usage

import ascii_wizard 
import os 

img = ascii_wizard.AsciiWizard("doraemon.jpg")
img.colored(150, 2.2, None, None, True)

Result

Documentation

Initialization

Initialize the object using the default constructor.

ascii_wizard.AsciiWizard(
    path: str
)

where path is a PIL-compatible file, such as a .jpeg or .png file. See the documentation of PIL for other image formats.

grayscale()

Convert an image into ASCII representation but with no color (basically a grayscale image).

grayscale(
    columns: int = 120, 
    width_ratio: float = 2.2,
    char: str = None,
    background: tuple = None,
    to_terminal: bool = True
) -> str

The method returns the ASCII representation (without color) of the image initialized using the constructor above.

  • columns (optional): the number of characters per row, the more columns the bigger the ASCII image.
  • width_ratio (optional): ASCII characters are not squares, so this adjusts the width to height ratio.
  • char (optional): instead of using the built-in ASCII Character Ramp, you can use a single character like #.
  • background (optional): specify the background of the image with a tuple (r, g, b) where r, g, b respectively are the RGB value of the background color.
  • to_terminal: choose to print the ASCII image to the terminal

Example

With background color

img = ascii_wizard.AsciiWizard("elephant.jpg")
img.grayscale(150, 2.2, None, (0, 255, 255), True)

Without background color

img = ascii_wizard.AsciiWizard("elephant.jpg")
img.grayscale(150, 2.2, None, None, True)

colored()

Convert an image into ASCII representation in true color.

colored(
    columns: int = 120, 
    width_ratio: float = 2.2,
    char: str = None,
    background: tuple = None,
    to_terminal: bool = True
) -> str

The method returns the ASCII representation (with color) of the image initialized using the constructor above.

  • columns (optional): the number of characters per row, the more columns the bigger the ASCII image.
  • width_ratio (optional): ASCII characters are not squares, so this adjusts the width to height ratio.
  • char (optional): instead of using the built-in ASCII Character Ramp, you can use a single character like #.
  • background (optional): specify the background of the image with a tuple (r, g, b) where r, g, b respectively are the RGB value of the background color.
  • to_terminal: choose to print the ASCII image to the terminal

Example

img = ascii_wizard.AsciiWizard("chuamotcot.jpg")
img.colored(200, 2.2, None, None, True)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ascii-wizard-1.2.tar.gz (3.5 kB view details)

Uploaded Source

Built Distribution

ascii_wizard-1.2-py3-none-any.whl (3.5 kB view details)

Uploaded Python 3

File details

Details for the file ascii-wizard-1.2.tar.gz.

File metadata

  • Download URL: ascii-wizard-1.2.tar.gz
  • Upload date:
  • Size: 3.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for ascii-wizard-1.2.tar.gz
Algorithm Hash digest
SHA256 1d1f11bf103e3a4f00f91a72252c7a4273908bb3f65e68567056ca504aa6b6a8
MD5 bacf3257492677b2533f3cd8f4bd66af
BLAKE2b-256 d7d538007a7c18c3c595118890a57b80a00343b92f24a4d9573c872d2d5ee29e

See more details on using hashes here.

File details

Details for the file ascii_wizard-1.2-py3-none-any.whl.

File metadata

  • Download URL: ascii_wizard-1.2-py3-none-any.whl
  • Upload date:
  • Size: 3.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.0

File hashes

Hashes for ascii_wizard-1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c6c6c01425b63ea3d1e4a78965b77132e489bf9d927da5fab0359f638a3cf028
MD5 a67738d65e0325d08b41f59f128ea6e4
BLAKE2b-256 ae91e300feebea7219cc9721bbece2d6569c92be9a95e7f8a40e351e526c6f0a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page