Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ismail-yilmaz/escpainter

A headless PDF/SVG level painter library for U++'s Esc scripting language.
https://github.com/ismail-yilmaz/escpainter

2d-graphics pdf scripting-language svg

Last synced: about 1 month ago
JSON representation

A headless PDF/SVG level painter library for U++'s Esc scripting language.

Awesome Lists containing this project

README

        

# EscPainter package for U++

Painter library for U++'s [Esc](https://www.ultimatepp.org/srcdoc$Esc$Esc_en-us.html) scripting language. EscPainter is a powerful extension that integrates the U++ Painter functionality into Esc scripts. This library enables users to create and manipulate PDF/SVG-level 2D graphics directly within their Esc scripts, leveraging the sophisticated drawing capabilities of the U++ Painter class.

## Features

- **Seamless Integration with Esc:** The library allows Esc scripts to access and utilize U++'s advanced painting functions, providing a seamless interface for 2D graphics creation within the scripting environment.

- **Comprehensive Drawing Capabilities:** Users can perform a wide range of drawing operations, including rendering shapes (lines, rectangles, circles, etc.), handling colors, gradients, and transformations (scaling, rotation, etc.), and managing complex paths.

- **Dynamic Scriptable Graphics:** By embedding this painter library in Esc, users can dynamically generate and modify graphics at runtime. This is particularly useful for visualizing data, or generating procedural art, etc.

- **Support for U++ Painting Primitives:** The library exposes U++ Painter primitives such as `Fill`, `Stroke`, `Font`, `Text`, and more, enabling detailed and fine-grained control over the graphical output.

- **Extensibility and Flexibility:** The library can be extended with additional functions or adapted to specific needs, making it a flexible tool for developers and users alike. Whether for simple graphic tasks or more complex rendering workflows, the library is designed to accommodate a variety of use cases.

- **Interactive Graphics Scripting:** Developers can leverage the interactive nature of Esc to quickly test and iterate on graphic designs, making it a valuable tool for prototyping, experimenting with visual concepts, or teaching graphics programming.

## Examples

|**Name** | **Description** |
|:--- |:--- |
| EscPainterStaticImages | Demonstrates simple static image generation using the EscPainter library. |
| EscPainterAnimatedImage | Demonstrates simple image animation using the EscPainter library. |

## Screenshots

#### Static images, paths, text.
![EscPainter static images](https://i.imgur.com/gVNSHC5.png)

#### Basic animations, complex operations
![EscPainter animation](https://i.imgur.com/vmwpJOB.gif)