Skip to main content

Text To Image

Easily convert your text to grayscale images and vice versa.

With this tool you can encode text or plain text files to a grayscale image to be easily shared. Each pixel represents a single character’s decimal value. When decoding an image you can decode text straight to the console or to a plain text file.

Images use a PNG file extension. The image size will be automatically be set depending on the text length to be encoded.

Text should use a character encoding scheme using 8 bits or less until additional functionality is added to support UTF-8 (16 bit). If a character’s decimal value is greater than the limit (see below) the it will be divided by the limit and the new value used. When the character value equals the limit value the new value will be 1.

The limit value passed using either command line argument -l(–limit) specifies the decimal value limit for pixel values starting from 1. The default is 256 allowing for numbers from 0 to 255 (i.e. 8 bit pixels). If the limit value is greater than 8 bits then the value will still be wrapped around since the output image is grayscale.

Requirements

  • Python 3.x

  • Pillow (PIL fork)

Install

You can install text_to_image using pip or setup.py

  • Using pip

    $> pip3 install text_to_image
  • Using setup.py. First navigative to the root directory where setup.py is located then run

    $> python3 setup.py install

How to Use

Once installed you can either directly use the encode.py and decode.py file or import and use the relevant functions.

  • Using the encode.py

    $> python3 encode.py -t "Hello World!" image.png  # encodes given text
    $> python3 encode.py -f my-text-file.txt image.png  # encodes a text file
    $> python3 encode.py --help  # for more information on arguments
  • Using decode.py

    $> python3 decode.py image.png  # decodes a given image
    $> python3 decode.py -f my-text-file.txt image.png  # decodes image.png to the given text file
    $> python3 decode.py --help  # for more information on arguments
  • Importing

    import text_to_image
    
        encoded_image_path = text_to_image.encode("Hello World!", "image.png")
        encoded_image_path = text_to_image.encode_file("input_text_file.txt", "output_image.png")
    
        decoded_text = text_to_image.decode("encoded_image.png")
        decoded_file_path = text_to_image.decode_to_file("encoded_image.png", "output_text_file.txt")

Tests

To run tests, navigate to the root directory where setup.py is located and run

$> python3-m unittest discover tests -v

Another image example:

TODO:
  • Add custom image sizes.

  • Expand pixel value to allow for UTF-8 characters.

Metadata

Release files for text-to-image 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for text-to-image 0.0.5
File Size Uploaded Provenance Actions
text_to_image-0.0.5.tar.gz 6.3 kB Without provenance Details for text_to_image-0.0.5.tar.gz

Release files / text_to_image-0.0.5.tar.gz

Download URL text_to_image-0.0.5.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
e5484c94ec6c2143e3aee2a7e839e6060dd8eee948470b786272f27e2ba78947
BLAKE2b-256 checksum
How to use checksums
1de2740b0270f1ca06ccdab62c599e0148732e16d056f42c7f8ea9d1d69d3412
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Security for text-to-image 0.0.5

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page