Skip to content

a creative tool for "old school" image processing & generative art. supports vintage polaroid style, hi-res output, chainable (filter-)plugins, contactsheets & templates.

License

s3h10r/einguteswerkzeug

Repository files navigation

einguteswerkzeug - a creative tool for generative artworks

Donate

einguteswerkzeug (egw) is a tool for creating minimalistic visual artworks in printing quality - and learning and mixing fun to use technologies full-stack around it (raspi, webapis, docker, serverless computing, flutter). :)

egw can be used for creating high-quality art prints or just for giving your photos or contactsheets a fairly well & individual vintage polaroid style 1. einguteswerkzeug provides some phonky filters and generative art capabilities mostly based on wonderfull open-source-projects and inspiring blog-articles around (see credits & thanks). in short the software provides:

  • generative-art-"generators" which are fun to play with
  • chainable filters (--filter f1,f2,...,fN)
  • reading & processing EXIF-data
  • lightweight plugin-framework - simple to use (and write) filters & generators
  • vintage polaroid style supporting (high-res) templates
  • supports your favorite (truetype-)font
  • --help-option :) + usage-examples as shellscripts

egw is beta-software and therefore some interface-things will change for sure - but for now it already works fine for me. Maybe it can be usefull for you too, especially if you like to tinker with code. Things are simple (here... <2000 lines of core-code):

input (generator|image) [--> filter(s) & filter-params] --> paste into template --> output (image)

Installation

# -- fetch latest source

$ git clone --recurse-submodules -j8 https://github.com/s3h10r/einguteswerkzeug.git
$ cd einguteswerkzeug

# -- install & build into a dedicated virtualenv

$ python3 -m venv venv
$ source venv/bin/activate
(venv) $ ./build.sh

# -- ready to rumble! (:

(venv) $ egw
Usage:
egw <source-image> --output=<filename>
egw (<source-image> | --generator=<str>) [--output=<filename>]
egw (<source-image> | --generator=<str>) [--config=<fqfn>] [--template=<str>] [--    >  \noframe]
    [--filter <name>] [--params-filter <fparams>] [--params-generator <params>]
    [--title=<str>] [--title-meta] [--font=<fqfn>] [--text-color=<rgb>]
    [--alpha-blend=<float>] [--border-size=<int>] [--border-color=<rgb>]
    [--size-inner=<n>] [--max-size=<w>]
    [--crop | --nocrop] [--alignment=<str>] [--clockwise | --anticlock] -o <fout>
    [--seed=<int>]

Have fun! (:

(venv) $ egw --shell

turn einguteswerkzeug into deinguteswerkzeug :)

It's fun to chain some of the provided filters to get good results but to get most out of egw use its lightweight plugin-mechanism to simply roll your own plugin(s) in Python.

Contributions are welcome and they are greatly appreciated!

Please feel free to send a pull-request and use the issue tracker.

TLDR; show don't tell

Some examples of works i am doing with einguteswerkzeug:

you want to help?

free high-res templates with "free as in freedom, not as in free beer"

To get an appealing rugged analogue style which is good enough for large prints high-res scans of polaroid frames are required. the ones i use for now (and include the confs for) can be downloaded here for free

donate

You do like einguteswerkzeug and want to support its development? Please consider a small donation.

Thank you very much!

Credits & Thanks

filters

The ASCII-art filter relies on codesnippets from the following Open Source projects:

Most filters are adopted from: https://github.com/Tinker-S/SomeImageFilterWithPython

  • The quads-filter is a quickndirty py3-port of the wonderfull code by Michael Fogleman

generators

The generator sprites is made with code by Eric Davidson.

The generator psychedelic is the wonderfull code of "Random (Psychedelic) Art, and a Pinch of Python" by Jeremy Kun.

The generator squares+circles is heavily inspired by Kevin Howbrook's Squares

The generator mondrian is an adoption of the Nifty Assigment Mondrian Art - Beautiful Recursion by Ben Stephenson (Stanford University)

Thank you guys! Live long and prosper!

All the crap and bugs in the code while quickly porting some old stuff to Py3 is made by me of course. Please feel free to refacture, fix, tinker, ...

changelog

License

einguteswerkzeug is made with <3, maintained & developed by Sven Hessenmüller.

einguteswerkzeug uses some excellent open source software and snippets - please take a look at Credits & Thanks for the complete list of codes & inspirations the author is gratefull for being allowed to use and remix in this software product.

MIT License

Copyright (c) 2019-2021 Sven Hessenmüller sven.hessenmueller@gmail.com

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Footnotes

[1]: The polaroid style is a feature used by default because i really love the polaroid style and find it appealing & usefull for contactsheets and alike - it can be disabled of course (option --noframe).

About

a creative tool for "old school" image processing & generative art. supports vintage polaroid style, hi-res output, chainable (filter-)plugins, contactsheets & templates.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published