Skip to content

fezde/plingo

Repository files navigation

License: MIT

Plingo

An image says more than 1.000 commands

Introduction

Plingo is a programming language made for pixel-based image manipulation. Its main goal is to omit writing text based code so it uses the image itself as the program.

Each pixel of the inpupt image is a command with up to two parameters. Each command gets executed and thereby modifies a copy of the image creating a new image. So the source image is the input data and the code ifself.

Example

Input Output
Example Photo Example Photo Output
Github Avatar Github Avatar Output
Iterative examples
Github Avatar Github Avatar Output
The result of a 200 iteration execution

Short tutorial

pip install Plingo
plingo yourimage.png

Now check the result at yourimage.png_out.png

Command generation

Each pixel of the input is seperated into its RGB values (aka channels). One channel is used for the main command (the exact channel is defined by the Command Pointer). The other two channels are used as parameter values for the command to be called.

Values are kept in range by using the modulo operator.

List of commands

For a full list of commands see docs/api.md

About

A pixel based image manipulation programming language

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors