Skip to content

Graffiti is an open-source tool that allows users to create vector graphics using scripts. Built on Lua and using the Blend2D library, it enables the creation of customizable images that can be exported as PNG files.

License

Notifications You must be signed in to change notification settings

ReneMuala/graffiti

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

GRAFFITI

Graffiti is a dynamic, open-source project aimed at providing an easy-to-use platform for enthusiasts and designers to create logos and images from instructions. These creations can then be exported to PNG files. Graffiti uses the high-performance 2D vector graphics library Blend2D to render images. This allows for a unique blend of programming and design, opening up new possibilities for digital art.

Features

Graffiti comes with a wide range of features:

  • Vector Graphics: Graffiti projects use relative values, allowing the resulting images to be used in any size.
  • Scripting Capabilities: Built on top of Lua, Graffiti inherits almost all features of the language. This allows for image creation with a level of automation that is impossible to reach with conventional tools.
  • Ease of Use: Graffiti is designed to be easy to learn and apply.
  • Color Support: Supports all HTML colors (see colors.lua).
  • Path Support: Allows for the creation and manipulation of paths.
  • Gradient Support: Allows for the creation of gradients.
  • Image Reusage: Supports the reuse of images.
  • Layer and Crop Support: Supports layers with cropping and customizable cropping.
  • Units: Supports px, cm, and % units (% is the default).
  • Transformations: Supports translate, resize, and rotate operations.

Installation

Follow these steps to install Graffiti:

  1. Clone the repository:
$ git clone https://github.com/renemuala/graffiti.git
  1. Navigate to the cloned repository:
$ cd graffiti
  1. Create a new directory for the build:
$ mkdir build cd build
  1. Run CMake to generate the build files:
$ cmake ..
  1. Build the project:
$ cmake --build .

You should now have the Graffiti executable in your build directory.

  1. Install graffiti on your system (Optional)
$ make install 

All in one

git clone https://github.com/renemuala/graffiti.git
cd graffiti 
mkdir build cd build
cmake ..
cmake --build .
# optional install
make install

Make sure to use tabs instad of spaces when writting graffiti code

Why Graffiti?

Graffiti provides a unique blend of design and programming, allowing users to create intricate and customizable images using scripts. This opens up a new realm of possibilities for digital art, making it accessible to both designers and programmers. With its extensive feature set, Graffiti offers a level of automation and precision that is hard to achieve with conventional design tools. Whether you're a designer looking to automate your workflows or a programmer interested in exploring the world of design, Graffiti is the tool for you.

Acknowledgements

I would like to express my gratitude to the following individuals and projects that have made Graffiti possible:

  • Blend2D: For the high-performance 2D vector graphics library used in Graffiti.
  • Lua: For providing the powerful scripting language that Graffiti is built upon.
  • CMake: For the robust build system used in Graffiti.

About

Graffiti is an open-source tool that allows users to create vector graphics using scripts. Built on Lua and using the Blend2D library, it enables the creation of customizable images that can be exported as PNG files.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published