Skip to main content

vpype-pixelart

vpype plug-in to plot pixel art.

Usage

Convert pixelart image to vectors

The pixelart command takes an image file as input and converts it to lines according to one of three modes (big, line, and small – see examples below). Each unique color in the the input file results in a new layer created. Pixels which are 100% transparent (alpha = 0) yield no output.

Example invocation:

$ vpype pixelart --mode snake --pen-width .35mm input.png linesort write output.svg

Inline help:

$ vpype pixelart --help

Convert geometries to bitmaps and back to vector

The pixelize command rasterizes the current geometries into a bitmap, and converts them back to vectors similarly to the pixelart command.

Example invocation:

$ vpype read input.svg pixelize --mode snake --pen-width .35mm linesort write output.svg

Inline help:

$ vpype pixelize --help

Examples

Mode big

In this mode, each pixel is drawn using a 5x5 square spiral. The pixel pitch is thus five times the specified pen width.

Cactus sprites from Super Mario World:

cactus

Result plotted with Pentel Sign Pen (using --pen-width 0.6mm):

big mode plotted pixelart

Mode line

In this mode, horizontal lines are generated for horizontal sequences of same-color pixels. The pixel pitch is equal to the specified pen width.

Original art by Reddit user u/_NoMansDream:

pixel art by u/_NoMansDream

Result plotted with Pentel Sign Pen (using --pen-width 0.6mm):

line mode plotted pixelart

Mode snake

In this mode, [snake](https://en.wikipedia.org/wiki/Snake_(video_game_genre)-like lines attempt to traverse zones of contiguous, same-color pixels. Again, the pixel pitch is equal to the specified pen width.

Detail of the snake algoritm:

image

Result plotted with Pentel Sign Pen (using --pen-width 0.5mm):

vpype banner in MacPaint UX

pixelize command

Series of cubes created with vpype-perspective and pixelated using pixelize:

image

Installation

See vpype's installation instructions for information on how to install vpype.

Existing vpype installation

If vpype was installed using pipx, use the following command:

$ pipx inject vpype vpype-pixelart

If vpype was installed using pip in a virtual environment, activate the virtual environment and use the following command:

$ pip install vpype-pixelart

Check that your install is successful:

$ vpype --help
Usage: vpype [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:
  -v, --verbose
  -I, --include PATH  Load commands from a command file.
  --help              Show this message and exit.

Commands:
[...]
  Plugins:
    pixelart   Plot pixel art.
[...]

Stand-alone installation

Use this method if you need to edit this project. First, clone the project:

$ git clone https://github.com/abey79/vpype-pixelart.git
$ cd vpype-pixelart

Create a virtual environment:

$ python3 -m venv venv
$ source venv/bin/activate
$ pip install --upgrade pip

Install vpype-pixelart and its dependencies (including vpype):

$ pip install -e .

Check that your install is successful:

$ vpype --help
Usage: vpype [OPTIONS] COMMAND1 [ARGS]... [COMMAND2 [ARGS]...]...

Options:
  -v, --verbose
  -I, --include PATH  Load commands from a command file.
  --help              Show this message and exit.

Commands:
[...]
  Plugins:
    pixelart   Plot pixel art.
[...]

License

See the LICENSE file for details.

Metadata

Release files for vpype-pixelart 0.4.0

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

Source distribution (sdist)

Source distribution for vpype-pixelart 0.4.0
File Size Uploaded
vpype-pixelart-0.4.0.tar.gz 6.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vpype-pixelart 0.4.0
File Interpreter ABI Platform
vpype_pixelart-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.0 kB

Release files / vpype-pixelart-0.4.0.tar.gz

Download URL vpype-pixelart-0.4.0.tar.gz
Size 6.9 kB
Tags Source
SHA-256 checksum
How to use checksums
e3030dea999ec0cf1faf576aae146935de68157c1c9bcee6c10eb90a6b1b2475
BLAKE2b-256 checksum
How to use checksums
8430a0b863a8e4cde201bbd7ca761445827ddeaab1deb39366cbb62684ecf790
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release files / vpype_pixelart-0.4.0-py3-none-any.whl

Download URL vpype_pixelart-0.4.0-py3-none-any.whl
Size 7.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e775385c90995559844ab993d2d754db5ebb4984f39fea152dd00bdd9ec46883
BLAKE2b-256 checksum
How to use checksums
ba39f636c62478c59ddb30d279ab824ec9796d4bd4bd73097617419c53e32d5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.1

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

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