Nach drei Monaten harter Arbeit wurde die Version 0.15 der Vektorgrafikbibliothek ThorVG veröffentlicht, die in C++ (Standard C++14) geschrieben und unter der MIT-Lizenz verbreitet wird. Die Bibliothek wird zum Rendern von Vektorgrafiken in Projekten wie Tizen OS, Godot Engine, LVGL und den Playern dotLottie.
Thor Vektorgrafik (ThorVG) ist eine leichte und tragbare Open-Source-Bibliothek, die zur Visualisierung von Vektorszenen und Animationen konzipiert wurde, einschließlich der Formate SVG Tiny 1.2, Lottie und des eigenen TVG-Formats (SVG, komprimiert mit dem Algorithmus LZW).
Die Bibliothek bietet benutzerfreundliche APIs für den Import, die Erstellung und Anzeige von Vektorgrafiken sowie für den Export in verschiedene Grafikformate, was sie universell für den Einsatz in unterschiedlichen Softwareplattformen und Anwendungen zur Visualisierung von Grafikinhalt macht:
#include "Example.h" using namespace std; void exportGif() { auto animation = tvg::Animation::gen(); auto picture = animation->picture(); if (!tvgexam::verify(picture->load(EXAMPLE_DIR"/lottie/walker.json"))) return; picture->size(800, 800); auto saver = tvg::Saver::gen(); if (!tvgexam::verify(saver->save(std::move(animation), "./test.gif"))) return; saver->sync(); cout << "Successfully exported to test.gif." << endl; } int main(int argc, char **argv) { if (tvgexam::verify(tvg::Initializer::init(0))) { exportGif(); tvg::Initializer::term(); } return 0; }
Die Bibliothek wird außerdem mit den Utilities lottie2gif, svg2png und svg2tvg geliefert.
Die neue Version enthält eine Reihe bedeutender Verbesserungen:
- Die Leistung, Funktionalität und Stabilität der WebGPU-Engine wurden erheblich verbessert;
- ungefähr dreifache Leistungssteigerung beim Rendern von Strichen;
- veränderte Leistung bei der Maskierung und verschiedenen Überblendmethoden;
- Signifikante Reduzierung der GPU-Speicherbelastung;
- Unterstützung für die Konturabschneidung und Verwaltung der sichtbaren Bildschirmbereiche hinzugefügt;
- Die Umsetzung von Lottie-Animationen wurde erheblich verbessert;
- Die größte Ergänzung in ThorVG ist die Unterstützung von Schichten in Lottie-Animationen;
- Interaktive Möglichkeiten wurden in Lottie-Animationen hinzugefügt;
- Die Textanimation wurde verbessert;
- Der Algorithmus zur Berechnung von Kontrollpunkten für Bézier-Kurven mit Versatz wurde verbessert;
- Die Möglichkeit, verschiedene Post-Processing-Effekte auf die Szene anzuwenden, wurde hinzugefügt;
- Unterstützung für zusammengesetzte Textgallerien wurde hinzugefügt;
- Die Leistung von Kompositionen in der OpenGL-Engine wurde verbessert;
- Neue stabile und experimentelle APIs wurden hinzugefügt;
- Es wurden viele Fehler behoben.
Quelle: linux.org.ru
