Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sammycage/plutosvg

Tiny SVG rendering library in C
https://github.com/sammycage/plutosvg

c emoji2png freetype otfsvg plutovg svg svg-hooks svg2png

Last synced: about 2 months ago
JSON representation

Tiny SVG rendering library in C

Awesome Lists containing this project

README

        

# PlutoSVG
plutosvg is a tiny SVG rendering library in C

## Features
- Basic Shapes : rect, circle, ellipse, line, polyline, polygon, path
- Paint Servers : solidColor, linearGradient, radialGradient, pattern(TODO)
- Document Structures: defs, svg, g, use, symbol
- Texts (TODO) : text, tspan, tref
- Image (TODO)

## Example
```c
#include

#include
#include

int main(void)
{
plutovg_surface_t* surface = plutosvg_load_from_file("camera.svg", NULL, 0, 0, 96.0);
if(surface == NULL)
{
printf("Load failed\n");
return -1;
}

plutovg_surface_write_to_png(surface, "camera.png");
plutovg_surface_destroy(surface);
return 0;
}

```

output :

![camera.png](camera.png)

## Build
Install [cmake](https://cmake.org/download/) if not already installed

```
git clone --recursive https://github.com/sammycage/plutosvg.git
cd plutosvg
mkdir build
cd build
cmake ..
make
```

## Support
If you like what we do, [you can buy us a coffee](https://www.buymeacoffee.com/sammycage)