Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/ismail-yilmaz/escpainter
- Owner: ismail-yilmaz
- License: other
- Created: 2023-05-01T17:13:55.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-27T10:11:23.000Z (2 months ago)
- Last Synced: 2024-10-27T11:35:03.044Z (2 months ago)
- Topics: 2d-graphics, pdf, scripting-language, svg
- Language: C++
- Homepage:
- Size: 43 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
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)