lunasvg is a standalone c++ library to create, animate, manipulate and render SVG files.
#include <lunasvg/svgdocument.h>
using namespace lunasvg;
int main()
{
SVGDocument document;
document.loadFromFile("tiger.svg");
Bitmap bitmap = document.renderToBitmap();
// do something useful with the bitmap.
return 0;
}
- Basic Shapes : rect, circle, ellipse, line, polyline, polygon, path.
- Paint Servers : solidColor, linearGradient, radialGradient, pattern.
- Clipping, Masking and Compositing : clipPath, mask, group opacity.
- Document Structures: defs, svg, g, use, symbol.
- Coordinate Systems, Transformations and Units.
- Markers.
- Texts.
- Animations (TODO)
- Filters (TODO)
- Image (TODO)
Create a build directory.
mkdir build
Run cmake command inside build directory.
cd build
cmake ..
Run make to build lunasvg.
make -j 2
To install lunasvg library.
make install
While building lunasvg example it generates a simple SVG to PNG converter which can be used to convert SVG file to PNG file.
Run Demo.
svg2png [filename] [resolution] [bgColor]
If you like the work lunasvg is doing please consider a small donation: