emulationstation-de/external/lunasvg
2023-07-29 12:37:05 +02:00
..
.github Merge commit 'aad9e2d48d2f589bf83828cc103c81ffdd1db179' 2022-10-31 20:29:30 +01:00
3rdparty/plutovg Merge commit '2c16a78282ae7ea0dd62a90124ba162fb51c0d7a' into lunasvg-update 2023-05-08 19:53:29 +02:00
example Merge commit '9a2c8e10777d7b572589657a49f4dbaaa0c72a16' into next 2023-07-29 12:37:05 +02:00
include Merge commit '9a2c8e10777d7b572589657a49f4dbaaa0c72a16' into next 2023-07-29 12:37:05 +02:00
source Merge commit '9a2c8e10777d7b572589657a49f4dbaaa0c72a16' into next 2023-07-29 12:37:05 +02:00
CMakeLists.txt Merge commit '9a2c8e10777d7b572589657a49f4dbaaa0c72a16' into next 2023-07-29 12:37:05 +02:00
LICENSE Merge commit '32546b5874ed5bb3f1f8abaf700d8012799ccf37' as 'external/lunasvg' 2022-10-03 18:25:42 +02:00
luna.png Merge commit '32546b5874ed5bb3f1f8abaf700d8012799ccf37' as 'external/lunasvg' 2022-10-03 18:25:42 +02:00
README.md Merge commit '9a2c8e10777d7b572589657a49f4dbaaa0c72a16' into next 2023-07-29 12:37:05 +02:00

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

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]

Projects Using LunaSVG