Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/replaceitem/scarpet-graphics
Processing wrapper for scarpet
https://github.com/replaceitem/scarpet-graphics
Last synced: 23 days ago
JSON representation
Processing wrapper for scarpet
- Host: GitHub
- URL: https://github.com/replaceitem/scarpet-graphics
- Owner: replaceitem
- License: mit
- Created: 2022-04-23T11:48:37.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-04-23T19:50:25.000Z (9 months ago)
- Last Synced: 2024-10-31T11:36:31.755Z (2 months ago)
- Language: Java
- Homepage: https://modrinth.com/mod/scarpet-graphics
- Size: 106 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# scarpet-graphics
[![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/etTDQAVSgt)
A wrapper of [Processing](https://processing.org) for [scarpet](https://github.com/gnembon/fabric-carpet/wiki/Scarpet)
This can also be used with [Discarpet](https://modrinth.com/mod/discarpet) to send the created images via Discord.
## Values
This extension adds these new scarpet values:
* `image`: Wrapper for [PImage](https://processing.org/reference/PImage.html)
* `graphics`: Wrapper for [PGraphics](https://processing.org/reference/PGraphics.html), extends `image` value (meaning it can be used in the same way `image` can)
* `font`: Wrapper for [PFont](https://processing.org/reference/PFont.html)Colors are handled using numbers (0xRRGGBBAA in hex), but can be constructed from RGB and HSB using the `color` function.
## Functions
**For a more detailed documentation for these functions, see the [Processing reference](https://processing.org/reference)**
Most functions are just a wrapper function for the internal processing function.
Sometimes they may have slightly different names than the original Processing functions, due to the name being already used by scarpet (e.g. `copy()`) or to group them (all `draw_?()` functions).### Graphics and Image functions
#### `load_image(location)`
Loads an image from the specified `location` (string).
Can be a URL, or file path (absolute path, does not work like scarpe's `read_file`)
Returns an `image` value.#### `save_image(image, location)`
Saves the `image` in the specified `location` (also an absolute path)
#### `create_graphics(width, height)`
Creates a new `graphics` object with the specified dimensions.
#### `copy_image(source, desination, sourceX, sourceY, sourceW, sourceH, destinationX, destinationY, destinationW, destinationH)`
Copies pixels from one image/graphics to another.
#### `get_pixel(image, x, y)`
Returns the color of a certain pixel.
#### `set_pixel(image, x, y, color)`
Sets the pixel on the image to the color.
#### `begin_draw(graphics)`
Prepares the graphics object for doing drawing operations on it.
#### `end_draw(graphics)`
To be called when done drawing.
### Drawing functions
See the [2D Primitives](https://processing.org/reference/#shape) section in the processing reference. (The scarpet functions have `draw_` prefixed with the processing function names)
#### `draw_background(graphics, color)`
#### `draw_rect(graphics, a, b, c, d)`
#### `draw_ellipse(graphics, a, b, c, d)`
#### `draw_line(graphics, x1, y1, x2, y2)`
#### `draw_image(graphics, a, b, c, d)`
#### `draw_text(graphics, text, x, y)`### Mode functions
#### `color_mode(graphics, mode)`
`mode`s: `'RGB'`, `'HSB'`
#### `image_mode(graphics, mode)`
`mode`s: `'CORNER'`, `'CORNERS'`, `'CENTER'`
#### `ellipse_mode(graphics, mode)`
`mode`s: `'CORNER'`, `'CORNERS'`, `'CENTER'`, `'RADIUS'`
#### `rect_mode(graphics, mode)`
`mode`s: `'CORNER'`, `'CORNERS'`, `'CENTER'`, `'RADIUS'`
### Utility functions
#### `color(graphics, v1, v2, v3, alpha)`
Depending on the `color_mode()` set, v1,v2,v3 are either r,g,b or h,s,b values
#### `fill(graphics, color)`
#### `no_fill(graphics)`
#### `stroken(graphics, color)`
#### `no_stroke(graphics)`
#### `stroke_weight(graphics, weight)`
#### `smooth(graphics)`
#### `no_smooth(graphics)`
#### `font_list()` (Equivalent to PFont.list() in processing)
#### `text_font(graphics, font)`
#### `text_size(graphics, size)`
#### `create_font(graphics, name, size, smooth?)`
#### `text_align(graphics, alignX, alignY)`