Skip to main content

Create Minecraft-like paintings

Project description

Craftpainting

Create Minecraft-like paintings in the terminal

Version PyPI - Downloads Make a PR MIT Buy Me A Coffee

sunset dense

🚀 Usage

Install it by running

pip install craftpainting

# on on mac,
pip3 install craftpainting

CLI

craftpainting input_path.png -s SIZE -r REPETITIONS -o output_path.png 

size

Enter a string of WxH, such as 2x1. Units are Minecraft blocks, so a width of 2x1 translates to an image of 32x16.

repetitions

The number of times enlarge the image. By default, an image 32x16 or 48x32 is too small and doesn't look good.

The value of -r dictates how many times each pixel should be multiplied. It's 15 by default, so an image of size 2x1 in blocks looks like it's 32x16 pixels, but is actually 480x240.

Set to 0 to get the minimum possible size.

gray

Append -g (or --gray) to the command to make the painting black and white.

outputpath

If no output path is specified, the image will be shown, but won't be saved.

Python

from craftpainting import create_painting, enlarge_image
from PIL import Image

image = Image.open('images/sunset_dense.jpg')
p = create_painting(image)  # create the (super tiny) image
p = enlarge_image(p, repetitions=15)  # enlarge it so it looks better
p.show()

To use in Python, Pillow is required. Install it:

pip install pillow

# or on mac,
pip3 install pillow

Web

Visit craftpainting.herokuapp.com.

web demo

Note: the website is hosted on Heroku on the free plan, so it will take around 10 seconds to load.

🏳️‍🌈 Examples

Sunset dense

craftpainting sunset_dense.jpg -o painting_sunset_dense.jpg

sunset dense

Original

sunset dense

Beach

craftpainting beach.png -s 3x2 -o painting_beach.png

beach

Original

beach

Code

craftpainting code.jpg -s 2x2 -o painting_code.jpg

code

Original

code

Landscape

craftpainting landscape.jpg -g -r 5 -o painting_landscape.jpg

Smaller values of repetitions produce images of smaller sizes.

code

Original

code

🛠 Build setup

# install all packages
cd src/
pipenv shell
pipenv install

# run test.py
python test.py

Web

cd web/
pipenv shell
pipenv install

# run the site on the dev server
python app.py

# host on heroku
git add .
git commit -m "update site"
cd ..  # go to the route directory
git subtree push --prefix web heroku master

📜 License

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

craftpainting-0.0.3.tar.gz (4.2 kB view hashes)

Uploaded Source

Built Distribution

craftpainting-0.0.3-py3-none-any.whl (5.4 kB view hashes)

Uploaded Python 3

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