Giter Site home page Giter Site logo

burakcoli / abstract-art-generator Goto Github PK

View Code? Open in Web Editor NEW
177.0 6.0 48.0 6.62 MB

A python program that generates abstract art with variety of shapes, styles and randomization using pygame.

License: GNU General Public License v3.0

Python 100.00%
abstract-art generation pygame user-interface art

abstract-art-generator's Introduction

Abstract Art Generator

Summary: A python program that generates abstract art with variety of styles, shapes, adjustable options and randomization, using pygame.

Program Info

Python version: 3.7.6, Packages used: pygame, pygame_gui, tkinter

In "Abstract Art Generator", we have two layers to work on. Each of these layers have 4 different adjustable options.
These are: Style, Shape, Complexity and Size
Also for each artwork, there are 20 unique color palettes to choose from. These color palettes have 4 different colors.
Before any shapes are drawn, one color from the color palette is chosen to be the background color, rest are left for shape colors.

Style Options

There are 7 style options, these are:

  • Chaotic: This is the most randomized option.
  • Striped Horizontal: With this layer style the shapes are forced to roughly line up on horizontal lines.
  • Striped Vertical: Same as the horizontal style but the shapes line up on vertical lines this time.
  • Mosaic: Whatever the shape is, they cover the screen with same amount of spacing between them.
  • Cornered: Shapes are forced to be drawn roughly on the corners.
  • Centered: Shapes are forced to be drawn roughlt on the center.
  • Empty: This option is there to make one shape art possible. Sometimes one shape is enough for an artwork.

Shape Options

There are 8 shapes to draw on your art, these are:
Lines, Circles, Sqaures, Hollow Polygons, Filled Polygons, Dots, Curves and Rings
The shapes are pretty self explanatory.

Slider Options

For the slider options, we have Complexity and Size.
Complexity: This corresponds to how complex the layer will be. More shapes, more randomization. This option is more absolute.
Size: This option changes the maximum size that the shapes can have, for that specific layer. This option is more flexible.

  • Note: While complexity works with all layer styles, size has an exception. For mosaic style, because the spacing is calculated by how many shapes has to be drawn, size option doesn't affect shapes with that style.

Extra

I have included an examples folder, and inside it there are 5 example abstract artworks. Just to show what can be done. And there is also an info.txt file in the folder that acts as a guide to create the same artworks yourself.
Make sure to have all the packages required installed, and keep the files in the same folder.
It might take a few seconds to fully run for the first time use. Use command prompt to run the .py file like this:

python art_generator.py

abstract-art-generator's People

Contributors

burakcoli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

abstract-art-generator's Issues

I can't Export

I get this when I try to export the image: libc++abi: terminating with uncaught exception of type NSException

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.