• Stars
    star
    754
  • Rank 58,031 (Top 2 %)
  • Language
    C++
  • License
    MIT License
  • Created about 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

lunasvg is a standalone SVG rendering library in C++

Releases License Build Status

If you like the work lunasvg is doing please consider a small donation : Donate

LunaSVG - SVG rendering library in C++

LunaSVG

Example

#include <lunasvg.h>

using namespace lunasvg;

int main()
{
    auto document = Document::loadFromFile("tiger.svg");
    auto bitmap = document->renderToBitmap();

    // do something useful with the bitmap here.

    return 0;
}

Features

  • Basic Shapes
  • Document Structures
  • Coordinate Systems, Transformations and Units
  • SolidColors
  • Gradients
  • Patterns
  • Masks
  • ClipPaths
  • Markers
  • StyleSheet

TODO

  • Texts
  • Filters
  • Images

Build

git clone https://github.com/sammycage/lunasvg.git
cd lunasvg
mkdir build
cd build
cmake ..
make -j 2

To install lunasvg library.

make install

Demo

By enabling the LUNASVG_BUILD_EXAMPLES option during the CMake configuration, the lunasvg build includes a simple SVG to PNG converter for easy conversion of SVG files to PNG format.

Run Demo.

svg2png [filename] [resolution] [bgColor]

Projects Using LunaSVG